The STL is all called the Standard Template Library, which is basically a template, it relies on templates, not objects, so you need to instantiate this template and choose the type you want to use.The template is a kind of thing, you can look at this TOJ5250Test instructions is for me to implement an array of arbitrary content that can be placed in a variable length.My implementation code#include #includemalloc.h>using namespacestd;templateclassvecto
STL the container can be divided into the following major categories :One: Sequence container, with vector, list, deque, string.
two : Associative Container , There are set, Multiset, map, Mulmap, hash_set, Hash_map, Hash_multiset, Hash_multimap
three : Other Miscellaneous: stack, queue, Valarray, Bitset
STL implementation of each container :
(1) VectorInternal data structure: array.Random access to ea
use the advance and distance methods in STL to carry out iterator addition and subtractionIn the past, when traversing vectors, the addition and subtraction of iterator were often used to obtain the index of elements in the container.
Today in the list of iterator addition and subtraction, found that can not compile through, the back of the list is a non-linear container, can not be added and reduced.
Check the data, found that
C + + STL basic container Comparison
The basic containers in STL are: string, vector, list, deque, set, map
Both set and map are unordered save elements that can only be accessed through the interfaces it provides
Set: A collection that is used to determine whether an element is in a group, using less
Map: Mapping, equivalent to a dictionary, mapping a value to another value, if you want to create a
Reprint Please indicate the source: http://blog.csdn.net/mxway/article/details/21321541
In the search engine in the usual number of keywords appear in the statistics, this article analyzes the use of C + + STL map for statistics, and the use of Dictionary tree statistics in the running speed, space and applicable occasions for analysis. First randomly generates 1 million 3-6-length strings. To simplify the problem, the string consists of only lowercas
Map is an associative container of STL, it provides one-to-one (where the first one can be called a keyword, each keyword can only appear once in a map, the second may be called the value of that keyword), and because of this feature it is possible that when we are dealing with one-to-one data, Provides fast access to programming. Here's the organization of the map's internal data, within the map, a red and black tree is built (a balanced binary tree
As you know, the map at the bottom of the STL is implemented with a red-black tree, and its generic prototype is as follows:
Template
Where _key represents a comparison of the key (key), _TP represents the value, _compare represents a comparison, _alloc represents the memory allocator.
In general, when we write a map, we are always like writing the following code:
Map
Indicates that the key is an int type and the value is a string type. The reason
This article originates from Http://sourceware.org/gdb/wiki/STLSupport
Under normal circumstances, GDB can not visually print out the STL standard library of the container and so on, debugging is very difficult.
such as Vector,queue, deque, list and so on.
such as vector
(GDB) p a
$ = {_m_impl = {_m_end_of_storage = 0x804c00c}},
It's not intuitive.
The original 3 methods are introduced: I have used the first two methods.
I strongly recommend the fir
Was asked in an interview the use of four kinds of smart pointers in STL
Because of lack of experience, I only know auto_ptr and shared_ptr, and then said a weak ... Then the interviewer's cue was weak_ptr, and then he took the initiative to say Unique_ptr
I only did a bit of use for auto_ptr and shared_ptr.
Now in retrospect, the interview is still very dissatisfied with their own knowledge is also very dissatisfied, the recent work is not very busy,
When GDB is debugging, it's a pain to look at the STL container, such as looking at vectors, map containers, and not seeing what's in the data.
Now introduce a GDB view STL container artifact.
File:
Http://www.yolinux.com/TUTORIALS/src/dbinit_stl_views-1.03.txt
Download the above file, according to the document requirements of the above file into the ". Gdbinit" file into your root directory.
or ente
Map is a container of STL, and map is also a kind of associative container. It provides one-to-one (where the first one can be called a keyword, each keyword can only appear once in a map, and a second may be called the value of that keyword) to help us process one-to-one data. Here next map internal data organization, map interior is to build a red black tree (a not strict sense of the balanced binary tree), this tree has the function of automatic da
Pair template is a short and lean structure in C + + STL, is defined in
Note: Pair is defined as a struct rather than a class, so that all of his members are public and can be accessed and assigned directly.
Definition of pair:
std::p air
This allows access to "Yaoyao" through the P.first access 3,p.second.
Comparison of pair:
Two variables of the pair type can also be sized, but their comparisons have precedence, that is, when the first and f
Original link: http://blog.csdn.net/huangkq1989/article/details/7277282 C + + STL implementation: 1.vector Low-level data structure array, support fast random access 2.list underlying data structure For two-way linked lists, support fast additions and deletions 3.deque the underlying data structure for a central controller and a number of buffers, see the STL Source Analysis P146, supporting the end (middle
[C + + STL (VS2012 Update4) source code reading Series (2)] familiar with some macro definitions and templates or template specialization
Point_test.cpp: Knowledge point exercises and tests, for single step debugging, tracking.//
#include "stdafx.h"#include #include #include
using namespace Std;For _1, _2, _3 ...Using namespace std::p laceholders;
Template{return std::move (t1 + T2);}
/*Test examples illustrate the various combinations of std::bind a
"Effective STL" in a sentence of advice, as far as possible to replace the handwritten loop algorithm, search for the loop traversal, where summarized commonly used STL lookup algorithm;
There are three kinds of search, that is, Dot line:The point is to find the target as a single element;Line is to find the target for the interval;The face is to find the target for the set;
For each category lookup, the
Erase operation Problem of STL vector
One boss said csdn on the blog ("Erase operation on STL vectors", address is: http://blog.csdn.net/tingya/archive/2007/12/28/1998442.aspx) Black Strange, Holding the mentality of curiosity, I also go to gather ha lively, found a little problem, report to everyone.
The author says the following code is wrong:
vector
M_uintvector.push_back (10);
M_uintvector.push_ba
A summary of the list container in STL
1. About the list container
List is a sequence container. The function of the list container is actually very similar to the doubly linked list in the data structure, and the data element in list is the linear table in logical sense through the chain list pointer, that is to say list has the main advantage of the list, namely: the insertion and deletion of elements in any position of the linked list is fast. The
Test Instructions:Give the N row m column A total of n*m strings, and ask if there are different rows r1,r2, with the same C1,C2 columns. i.e. (R1,C1) = (R2,C1); (r1,c2) = (R2,C2);Such as2 3123,456,789123,654,789(1,3) on correspondence (3,3)If this corresponds, output no, then output two line number, two column number. Otherwise, the output is yes.Analysis:Map each string to a value.Enumerates any two columns, forming a pair of pairs, enumerating any two rows for equality, and any two-column com
delete slicesA little bit of code to empty the map.Mapstudent.earse (Mapstudent.begin (), Mapstudent.end ());Delete to be aware of, is also the characteristics of the STL, delete interval is a front closed after the setFrom a plus traverse code, print out}8. Some other function usagesThere are functions like swap,key_comp,value_comp,get_allocator, which feel that these functions are used in programmingNot a lot, skip the table, if you are interested,
It is estimated that this article will be written again by some "Bricks", but today I suddenly want to reflect on the STL source code analyzed during this period of time, so I have this article. this is my personal opinion, and we hope that the "brick-and-mortar" people will show their mercy.
What is STL (here )?
STL = standard template library, a standard templa
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.