C++学习笔记(5)–STL

void test03()
{
    for (size_t i = 0; i < 100; ++i, cout << i << " ");
    cout << endl;
    for (size_t i = 0; i < 100; ++++i, cout << i << " ");
    cout << endl;
    for (size_t i = 0; i < 100; ++++++++i, cout << i << " ");
    cout << endl;
}

C++学习笔记(5)--STL
  • iterator start; //表示使用空间的头
  • iterator finish; //表示使用空间的尾
  • iterator end_of_storage; //表示可用空间的尾

vector空间配置测试

void test004()//vector&#x7A7A;&#x95F4;&#x914D;&#x7F6E;&#x6D4B;&#x8BD5;
{
    vector<size_t>v;
    for (size_t i = 0; i < 100; i++)
    {
        v.push_back(i);
        cout << "size=" << v.size() << "        capacity=" << v.capacity() <<" 202206 2710778 size_t(&v[0])="<< size_t(&v[0]) << " &v[i]=" << size_t(&v[i]) << endl;

    }
}</code></pre><p><span><img src=" https: img2022.cnblogs.com blog 2710778-20220626185448233-511896699.png"><p></p><p><span>STL&#x5185;&#x7F6E;&#x7684;&#x6269;&#x5BB9;&#x7B56;&#x7565;&#xFF0C;&#x6BCF;&#x6B21;&#x6269;&#x5BB9;&#xFF0C;&#x5C31;&#x4F1A;&#x5F00;&#x8F9F;&#x65B0;&#x7684;&#x5185;&#x5B58;&#x7A7A;&#x95F4;&#xFF1B;</span></p><pre class="language-cpp highlighter-hljs"><code>    _CONSTEXPR20_CONTAINER size_type _Calculate_growth(const size_type _Newsize) const {
        // given _Oldcapacity and _Newsize, calculate geometric growth
        const size_type _Oldcapacity = capacity();
        const auto _Max              = max_size();
//&#x5982;&#x679C;&#x6309;&#x539F;&#x5BB9;&#x91CF;1.5&#x500D;&#x7684;&#x65B9;&#x5F0F;&#x589E;&#x52A0;&#x5BB9;&#x91CF;&#xFF0C;&#x8D85;&#x8FC7;&#x4E86;&#x6700;&#x5927;&#x5BB9;&#x91CF;&#xFF0C;&#x5219;&#x8FD4;&#x56DE;&#x6700;&#x5927;&#x5BB9;&#x91CF;
        if (_Oldcapacity > _Max - _Oldcapacity / 2) {
            return _Max; // geometric growth would overflow
        }

        const size_type _Geometric = _Oldcapacity + _Oldcapacity / 2;
//&#x5982;&#x679C;&#x589E;&#x52A0;&#x4E00;&#x822C;&#x7684;&#x5BB9;&#x91CF;&#x5C0F;&#x4E8E;&#x65B0;&#x5BB9;&#x91CF;&#xFF0C;&#x5219;&#x8FD4;&#x56DE;&#x65B0;&#x5BB9;&#x91CF;
        if (_Geometric < _Newsize) {
            return _Newsize; // geometric growth would be insufficient
        }
//&#x5426;&#x5219;&#xFF0C;&#x6309;&#x7167;1.5&#x500D;&#x7684;&#x65B9;&#x5F0F;&#x589E;&#x52A0;&#x5BB9;&#x91CF;
        return _Geometric; // geometric growth is sufficient
    }</code></pre><ul><li><span>&#x5E38;&#x8FED;&#x4EE3;&#x5668;constant iterator</span></li><li><span>&#x53EF;&#x53D8;&#x8FED;&#x4EE3;&#x5668;mutable iterator</span></li></ul><p><span>&#x5E38;&#x7528;&#x7684;&#x4E94;&#x79CD;&#x578B;&#x522B;&#xFF1A;</span></p><p><span>typedef typename T::iterator_category iterator_category;//&#x8FED;&#x4EE3;&#x5668;&#x578B;&#x522B;</span></p><p><span>typedef typename T::value::type value_type;//&#x503C;&#x7684;&#x578B;&#x522B;</span></p><p><span>typedef typename T::difference_type defference_type;//&#x5DEE;&#x503C;&#x3001;&#x8DDD;&#x79BB;&#x578B;&#x522B;</span></p><p><span>typedef typename T::pointer pointer;//&#x6307;&#x9488;&#x578B;&#x522B;</span></p><p><span>typedef typename T::reference reference;//&#x5F15;&#x7528;&#x578B;&#x522B;</span></p><p></p><p><span><strong>POD(&#x6570;&#x636E;&#x7ED3;&#x6784;) -plain old data &#x7684;&#x7F29;&#x5199;&#xFF08;POD&#xFF09;&#x4E00;&#x4E2A;<span>&#x666E;&#x901A;&#x7684;&#x53E4;&#x8001;&#x7684;</span>&#x6570;&#x636E;&#x7ED3;&#x6784;(POD)&#x662F;&#x4E00;&#x79CD;&#x6570;&#x636E;&#x7ED3;&#x6784;&#x3002;</strong></span></p><p><span><strong>POD&#x7C7B;&#x578B;=&#x6807;&#x91CF;&#x7C7B;&#x578B;scalar type+&#x4F20;&#x7EDF;C&#x7ED3;&#x6784;&#x4F53;&#x7C7B;&#x578B;C struct type</strong></span></p><p><span><strong>&#x6807;&#x91CF;&#x7C7B;&#x578B;&#xFF08;Scalar type&#xFF09;</strong></span></p><p><span><strong>&#x96C6;&#x5408;/&#x590D;&#x5408;&#x7C7B;&#x578B;aggregate/compound type</strong></span></p><p><span><strong>(ISO C11 &#xA7;6.2.5)</strong></span></p><p><span><strong>Arithmetic types&#xFF08;&#x7B97;&#x672F;&#x7C7B;&#x578B;&#xFF09; and pointer types&#xFF08;&#x6307;&#x9488;&#x7C7B;&#x578B;&#xFF09; are collectively&#xFF08;&#x5171;&#x540C;&#x7684;&#xFF09; called scalar types.</strong></span></p><p></p><p><span><strong>Array&#xFF08;&#x6570;&#x7EC4;&#xFF09; and structure&#xFF08;&#x7ED3;&#x6784;&#x4F53;&#xFF09; types are collectively called aggregate types.</strong></span></p><p></p><p><span><strong>&#x5728;C&#x8BED;&#x8A00;&#x4E2D;&#xFF0C;&#x6574;&#x6570;&#x7C7B;&#x578B;&#xFF08;int&#x3001;short&#x3001;long&#x7B49;&#xFF09;&#x3001;&#x5B57;&#x7B26;&#x7C7B;&#x578B;&#xFF08;char&#x3001;wchar_t&#x7B49;&#xFF09;&#x3001;&#x679A;&#x4E3E;&#x7C7B;&#x578B;&#xFF08;enum&#xFF09;&#x3001;&#x5C0F;&#x6570;&#x7C7B;&#x578B;&#xFF08;float&#x3001;double&#x7B49;&#xFF09;&#x3001;&#x5E03;&#x5C14;&#x7C7B;&#x578B;&#xFF08;bool&#xFF09;&#x90FD;&#x5C5E;&#x4E8E;&#x6807;&#x91CF;&#x7C7B;&#x578B;&#xFF0C;&#x4E00;&#x4EFD;&#x6807;&#x91CF;&#x7C7B;&#x578B;&#x7684;&#x6570;&#x636E;&#x53EA;&#x80FD;&#x5305;&#x542B;&#x4E00;&#x4E2A;&#x503C;&#x3002;</strong></span></p><p><span><strong>&#x7ED3;&#x6784;&#x4F53;&#xFF08;struct&#xFF09;&#x3001;&#x6570;&#x7EC4;&#x3001;&#x5B57;&#x7B26;&#x4E32;&#x90FD;&#x5C5E;&#x4E8E;&#x590D;&#x5408;&#x7C7B;&#x578B;&#xFF0C;&#x4E00;&#x4EFD;&#x590D;&#x5408;&#x7C7B;&#x578B;&#x7684;&#x6570;&#x636E;&#x53EF;&#x4EE5;&#x5305;&#x542B;&#x591A;&#x4E2A;&#x6807;&#x91CF;&#x7C7B;&#x578B;&#x7684;&#x503C;&#xFF0C;&#x4E5F;&#x53EF;&#x4EE5;&#x5305;&#x542B;&#x5176;&#x4ED6;&#x590D;&#x5408;&#x7C7B;&#x578B;&#x7684;&#x503C;&#x3002;</strong></span></p><p><span><strong>STL&#x4E2D;&#x7684;&#x7A7A;&#x95F4;&#x914D;&#x7F6E;&#x5668;allocator&#x5DE5;&#x4F5C;&#x6D41;&#x7A0B;</strong></span></p><p></p><p><span><strong>C++17&#x7684;&#x7ED3;&#x6784;&#x5316;&#x7ED1;&#x5B9A;</strong></span></p><p><span><strong>&#x9996;&#x5148;&#x8BBE;&#x7F6E;&#x8BED;&#x8A00;&#x6807;&#x51C6;&#x4E3A;C++17&#x6807;&#x51C6;&#xFF08;&#x6216;&#x66F4;&#x9AD8;&#x7684;&#x7248;&#x672C;&#xFF09;&#xFF0C;&#x624D;&#x652F;&#x6301;&#x7ED3;&#x6784;&#x5316;&#x7ED1;&#x5B9A;</strong></span></p><p></p><pre class="language-cpp highlighter-hljs"><code>#include<sstream>
struct Point
{
    double x, y;
    string toString()
    {
        stringstream s;
        s <<'(' 2 202206 2710778 << x ','<< y<< ')'; return s.str(); } }; point midpoint(const point& p1, const p2) { (p1.x + p2.x) 2, (p1.y p2.y) void test001() p1(1.6,2),p2(3,4.4); cout <<"p1=" << p1.toString() <<" p2="<< p2.toString() <<" mdiddlepoint="<< midpoint(p1, p2).toString() << endl;
}</code></pre><p><span><strong><img src=" https: img2022.cnblogs.com blog 2710778-20220625165726377-1849211280.png"><p></p><pre class="language-cpp highlighter-hljs"><code>void test1()
{
    Student s1(18, "Tom");
    auto [age, name] = s1;
    cout << "age=" << age << "name=" << name << endl;
}
void test2()
{
    vector<student> sv= { Student(18,"Tom"),Student(20,"Jack"),Student(23,"Clark") };
    Student s[] = { Student(18,"Tom"),Student(20,"Jack"),Student(23,"Clark") };
    for (const auto[age, name] : sv)
    {
        cout << "age=" << age << "name=" << name << endl;
    }
}</student></code></pre><p></p><p></p><p><span><strong>&#x51FD;&#x6570;set_new_handler</strong></span></p><p><span><strong>&#x51FD;&#x6570;&#x8BF4;&#x660E;</strong></span></p><ul><li><span><strong>set_new_handler&#x51FD;&#x6570;&#x7684;&#x4F5C;&#x7528;&#x662F;&#x8BBE;&#x7F6E;new_p&#x6307;&#x5411;&#x7684;&#x51FD;&#x6570;&#x4E3A;<span>new&#x64CD;&#x4F5C;&#x6216;new[]&#x64CD;&#x4F5C;&#x5931;&#x8D25;&#x65F6;&#x8C03;&#x7528;&#x7684;&#x5904;&#x7406;&#x51FD;&#x6570;</span>&#x3002;</strong></span></li><li><span><strong>&#x8BBE;&#x7F6E;&#x7684;&#x5904;&#x7406;&#x51FD;&#x6570;&#x53EF;&#x4EE5;&#x5C1D;&#x8BD5;&#x4F7F;&#x66F4;&#x591A;&#x7A7A;&#x95F4;&#x53D8;&#x4E3A;&#x53EF;&#x5206;&#x914D;&#x72B6;&#x6001;&#xFF0C;&#x8FD9;&#x6837;&#x65B0;&#x4E00;&#x6B21;&#x7684;new&#x64CD;&#x4F5C;&#x5C31;&#x53EF;&#x80FD;&#x6210;&#x529F;&#x3002;&#x5F53;&#x4E14;&#x4EC5;&#x5F53;&#x8BE5;&#x51FD;&#x6570;&#x6210;&#x529F;&#x83B7;&#x5F97;&#x66F4;&#x591A;&#x53EF;&#x7528;&#x7A7A;&#x95F4;&#x5B83;&#x624D;&#x4F1A;&#x8FD4;&#x56DE;&#xFF1B;&#x5426;&#x5219;&#x5B83;&#x5C06;&#x629B;&#x51FA;bad_alloc&#x5F02;&#x5E38;&#xFF08;&#x6216;&#x8005;&#x7EE7;&#x627F;&#x8BE5;&#x5F02;&#x5E38;&#x7684;&#x5B50;&#x7C7B;&#xFF09;&#x6216;&#x8005;&#x7EC8;&#x6B62;&#x7A0B;&#x5E8F;&#xFF08;&#x4F8B;&#x5982;&#x8C03;&#x7528;abort&#x6216;exit&#xFF09;&#x3002;</strong></span></li><li><span><strong>&#x5982;&#x679C;&#x8BBE;&#x7F6E;&#x7684;&#x5904;&#x7406;&#x51FD;&#x6570;&#x8FD4;&#x56DE;&#x4E86;&#xFF08;&#x4F8B;&#x5982;&#xFF0C;&#x8BE5;&#x51FD;&#x6570;&#x6210;&#x529F;&#x83B7;&#x5F97;&#x4E86;&#x66F4;&#x591A;&#x7684;&#x53EF;&#x7528;&#x7A7A;&#x95F4;&#xFF09;,&#x5B83;&#x53EF;&#x80FD;&#x5C06;&#x88AB;&#x53CD;&#x590D;&#x8C03;&#x7528;&#xFF0C;&#x76F4;&#x5230;&#x5185;&#x5B58;&#x5206;&#x914D;&#x6210;&#x529F;&#xFF0C;&#x6216;&#x8005;&#x5B83;&#x4E0D;&#x518D;&#x8FD4;&#x56DE;&#xFF0C;&#x6216;&#x8005;&#x88AB;&#x5176;&#x5B83;&#x51FD;&#x6570;&#x6240;&#x66FF;&#x4EE3;&#x3002;</strong></span></li><li><span><strong>&#x5728;&#x5C1A;&#x672A;&#x7528;set_new_handler&#x8BBE;&#x7F6E;&#x5904;&#x7406;&#x51FD;&#x6570;&#xFF0C;&#x6216;&#x8005;&#x8BBE;&#x7F6E;&#x7684;&#x5904;&#x7406;&#x51FD;&#x6570;&#x4E3A;&#x7A7A;&#x65F6;&#xFF0C;&#x5C06;&#x8C03;&#x7528;&#x9ED8;&#x8BA4;&#x7684;&#x5904;&#x7406;&#x51FD;&#x6570;&#xFF0C;&#x8BE5;&#x51FD;&#x6570;&#x5728;&#x5185;&#x5B58;&#x5206;&#x914D;&#x5931;&#x8D25;&#x65F6;&#x629B;&#x51FA;bad_alloc&#x5F02;&#x5E38;&#x3002;</strong></span></li></ul><p><span><strong>&#x53C2;&#x6570;&#x8BF4;&#x660E;</strong></span></p><p><span><strong>new_p:&#x8BE5;&#x51FD;&#x6570;&#x6307;&#x9488;&#x6240;&#x6307;&#x7684;&#x51FD;&#x6570;&#x5E94;&#x4E3A;&#x7A7A;&#x53C2;&#x6570;&#x5217;&#x8868;&#x4E14;&#x8FD4;&#x56DE;&#x503C;&#x7C7B;&#x578B;&#x4E3A;void</strong></span></p><p><span><strong>&#x8BE5;&#x51FD;&#x6570;&#x53EF;&#x4EE5;&#x5C1D;&#x8BD5;&#x83B7;&#x5F97;&#x66F4;&#x591A;&#x7684;&#x53EF;&#x7528;&#x7A7A;&#x95F4;&#xFF0C;&#x6216;&#x8005;&#x629B;&#x51FA;&#x5F02;&#x5E38;&#xFF0C;&#x6216;&#x8005;&#x7EC8;&#x6B62;&#x7A0B;&#x5E8F;&#x3002;</strong></span></p><p><span><strong>&#x5982;&#x679C;&#x662F;&#x4E00;&#x4E2A;&#x7A7A;&#x6307;&#x9488;&#xFF0C;&#x5904;&#x7406;&#x51FD;&#x6570;&#x5C06;&#x88AB;&#x91CD;&#x7F6E;&#x4E3A;&#x9ED8;&#x8BA4;&#x503C;&#xFF08;&#x5C06;&#x4F1A;&#x6267;&#x884C;&#x629B;&#x51FA;bad_alloc&#x5F02;&#x5E38;&#xFF09;&#x3002;</strong></span></p><p><span><strong>&#x8FD4;&#x56DE;&#x503C;</strong></span></p><p><span><strong>&#x8FD4;&#x56DE;&#x5148;&#x524D;&#x88AB;&#x8BBE;&#x7F6E;&#x7684;&#x5904;&#x7406;&#x51FD;&#x6570;&#x6307;&#x9488;&#xFF1B;&#x5982;&#x679C;&#x5C1A;&#x672A;&#x88AB;&#x8BBE;&#x7F6E;&#x6216;&#x8005;&#x5DF2;&#x88AB;&#x91CD;&#x7F6E;&#xFF0C;&#x5C06;&#x8FD4;&#x56DE;&#x7A7A;&#x6307;&#x9488;&#x3002;</strong></span></p><p><span><strong>&#x8FD4;&#x56DE;&#x7684;&#x51FD;&#x6570;&#x6307;&#x9488;&#x662F;&#x65E0;&#x53C2;&#x7684;void&#x8FD4;&#x56DE;&#x503C;&#x7C7B;&#x578B;&#x7684;&#x51FD;&#x6570;&#x6307;&#x9488;&#x3002;</strong></span></p><p><span><strong>placement new &#x662F;&#x91CD;&#x8F7D;operator new&#x7684;&#x4E00;&#x4E2A;&#x6807;&#x51C6;&#x3001;&#x5168;&#x5C40;&#x7684;&#x7248;&#x672C;&#xFF0C;&#x5B83;&#x4E0D;&#x80FD;&#x88AB;&#x81EA;&#x5B9A;&#x4E49;&#x7684;&#x7248;&#x672C;&#x4EE3;&#x66FF;&#xFF08;&#x4E0D;&#x50CF;&#x666E;&#x901A;&#x7684;operator new&#x548C;operator delete&#x80FD;&#x591F;&#x88AB;&#x66FF;&#x6362;&#x6210;&#x7528;&#x6237;&#x81EA;&#x5B9A;&#x4E49;&#x7684;&#x7248;&#x672C;&#xFF09;&#x3002;placement new&#x7684;&#x4F5C;&#x7528;&#x5C31;&#x662F;&#xFF1A;&#x521B;&#x5EFA;&#x5BF9;&#x8C61;(&#x8C03;&#x7528;&#x8BE5;&#x7C7B;&#x7684;&#x6784;&#x9020;&#x51FD;&#x6570;)&#x4F46;&#x662F;&#x4E0D;&#x5206;&#x914D;&#x5185;&#x5B58;&#xFF0C;&#x800C;&#x662F;&#x5728;&#x5DF2;&#x6709;&#x7684;&#x5185;&#x5B58;&#x5757;&#x4E0A;&#x9762;&#x521B;&#x5EFA;&#x5BF9;&#x8C61;&#x3002;&#x7528;&#x4E8E;&#x9700;&#x8981;&#x53CD;&#x590D;&#x521B;&#x5EFA;&#x5E76;&#x5220;&#x9664;&#x7684;&#x5BF9;&#x8C61;&#x4E0A;&#xFF0C;&#x53EF;&#x4EE5;&#x964D;&#x4F4E;&#x5206;&#x914D;&#x91CA;&#x653E;&#x5185;&#x5B58;&#x7684;&#x6027;&#x80FD;&#x6D88;&#x8017;&#x3002;</strong></span></p><p><span><strong>&#x4EE5;_ t&#x7ED3;&#x5C3E;&#x7684;&#x8FD9;&#x4E9B;&#x6570;&#x636E;&#x7C7B;&#x578B;&#x88AB;&#x79F0;&#x4E3A;<span>&#x539F;&#x59CB;&#x7CFB;&#x7EDF;&#x6570;&#x636E;&#x7C7B;&#x578B;</span>&#x3002;</strong></span></p><p><span><strong>&#x5B83;&#x662F;&#x4E3A;&#x4E86;&#x65B9;&#x4FBF;&#x7CFB;&#x7EDF;&#x4E4B;&#x95F4;&#x7684;<span>&#x79FB;&#x690D;(&#x8DE8;&#x5E73;&#x53F0;)</span>&#x800C;&#x5B9A;&#x4E49;&#x7684;</strong></span></p><p><span><strong>size_t &#x6570;&#x636E;&#x7C7B;&#x578B;</strong></span></p><p><span><strong>size_t&#x662F;&#x4E00;&#x4E9B;C/C++&#x6807;&#x51C6;&#x5728;stddef.h&#x4E2D;&#x5B9A;&#x4E49;&#x7684;&#x3002;&#x8FD9;&#x4E2A;&#x7C7B;&#x578B;&#x8DB3;&#x4EE5;&#x7528;&#x6765;&#x8868;&#x793A;&#x5BF9;&#x8C61;&#x7684;&#x5927;&#x5C0F;&#x3002;</strong></span></p><p><span><strong>size_t&#x7684;&#x771F;&#x5B9E;&#x7C7B;&#x578B;&#x4E0E;&#x64CD;&#x4F5C;&#x7CFB;&#x7EDF;&#x6709;&#x5173;&#xFF0C;&#x5728;32&#x4F4D;&#x67B6;&#x6784;&#x4E2D;&#x88AB;&#x666E;&#x904D;&#x5B9A;&#x4E49;&#x4E3A;&#xFF1A;</strong></span></p><p><span><strong>typedef unsigned int size_t;</strong></span></p><p><span><strong>&#x800C;&#x5728;64&#x4F4D;&#x67B6;&#x6784;&#x4E2D;&#x88AB;&#x5B9A;&#x4E49;&#x4E3A;&#xFF1A;</strong></span></p><p><span><strong>typedef unsigned long size_t;</strong></span></p><p><span><strong>size_t&#x5728;32&#x4F4D;&#x67B6;&#x6784;&#x4E0A;&#x662F;4&#x5B57;&#x8282;&#xFF0C;&#x5728;64&#x4F4D;&#x67B6;&#x6784;&#x4E0A;&#x662F;8&#x5B57;&#x8282;&#xFF0C;&#x5728;&#x4E0D;&#x540C;&#x67B6;&#x6784;&#x4E0A;&#x8FDB;&#x884C;&#x7F16;&#x8BD1;&#x65F6;&#x9700;&#x8981;&#x6CE8;&#x610F;&#x8FD9;&#x4E2A;&#x95EE;&#x9898;&#x3002;</strong></span></p><p><span><strong>&#x800C;int&#x5728;&#x4E0D;&#x540C;&#x67B6;&#x6784;&#x4E0B;&#x90FD;&#x662F;4&#x5B57;&#x8282;&#xFF0C;&#x4E0E;size_t&#x4E0D;&#x540C;&#xFF1B;&#x4E14;int&#x4E3A;&#x5E26;&#x7B26;&#x53F7;&#x6570;&#xFF0C;size_t&#x4E3A;&#x65E0;&#x7B26;&#x53F7;&#x6570;&#x3002;</strong></span></p><p><span><strong>&#x53C2;&#x8003;&#xFF1A;size_t&#x5728;WikiPedia&#x4E0A;&#x7684;&#x8BCD;&#x6761;</strong></span></p><ul><li><span><strong>size_t&#x662F;&#x65E0;&#x7B26;&#x53F7;&#x7684;&#xFF0C;&#x5E76;&#x4E14;&#x662F;<span>&#x5E73;&#x53F0;&#x65E0;&#x5173;</span>&#x7684;&#xFF0C;&#x8868;&#x793A;0-MAXINT&#x7684;&#x8303;&#x56F4;&#xFF1B;</strong></span></li><li><span><strong>int&#x662F;&#x6709;&#x7B26;&#x53F7;&#x7684;&#xFF1B;</strong></span></li></ul><p></p><p><span><strong>STL&#x7248;&#x672C;</strong></span></p><p><span><strong>HP&#x60E0;&#x666E;&#x7248;--&#x6240;&#x6709;&#x7248;&#x672C;&#x7684;&#x59CB;&#x7956;</strong></span></p><p><span><strong>PJ Plauger&#x7248;--&#x7B26;&#x53F7;&#x547D;&#x540D;&#x4E0D;&#x89C4;&#x8303;&#xFF0C;&#x53EF;&#x8BFB;&#x6027;&#x5DEE;</strong></span></p><p><span><strong>Rouge Wave&#x7248;--&#x53EF;&#x8BFB;&#x6027;&#x4E0D;&#x9519;</strong></span></p><p><span><strong>SGI &#x7248;--&#x88AB;GCC&#x91C7;&#x7528;&#xFF0C;&#x53EF;&#x8BFB;&#x6027;&#x5F88;&#x597D;</strong></span></p><p><span><strong>STL&#x7EC4;&#x4EF6;</strong></span></p><p><span><strong>&#x5BB9;&#x5668;Container--&#x50A8;&#x5B58;&#x6570;&#x636E;</strong></span></p><p><span><strong>&#x7B97;&#x6CD5;Algorithm--&#x64CD;&#x4F5C;&#x6570;&#x636E;</strong></span></p><p><span><strong>&#x8FED;&#x4EE3;&#x5668;Iterator--&#x8BFB;&#x5199;&#x6570;&#x636E;</strong></span></p><p><span><strong>&#x4EFF;&#x51FD;&#x6570;Functor--&#x6A21;&#x4EFF;&#x51FD;&#x6570;&#x7684;&#x7C7B;</strong></span></p><p><span><strong>&#x9002;&#x914D;&#x5668;Adapter--&#x4FEE;&#x9970;&#x4F5C;&#x7528;</strong></span></p><p><span><strong>&#x7A7A;&#x95F4;&#x914D;&#x7F6E;&#x5668;Allocator--&#x5185;&#x5B58;&#x7BA1;&#x7406;</strong></span></p><p></p><p><span><strong>&#x5305;&#x542B;&#x7684;&#x8D8A;&#x591A;&#xFF0C;&#x8D8A;&#x6CDB;&#x5316;&#xFF1B;</strong></span></p><p><span><strong>&#x5305;&#x542B;&#x7684;&#x8D8A;&#x5C11;&#xFF0C;&#x8D8A;&#x7279;&#x5316;</strong></span></p><p><span><strong>&#x8D8A;&#x5B50;&#x7C7B;&#xFF0C;&#x8D8A;&#x7279;&#x5316;&#xFF0C;&#x8D8A;&#x7236;&#x7C7B;&#xFF0C;&#x8D8A;&#x6CDB;&#x5316;&#xFF1B;</strong></span></p><p><span><strong>&#x5B50;&#x7C7B;&#x6BD4;&#x7236;&#x7C7B;&#x66F4;&#x7279;&#x5316;&#xFF0C;&#x7236;&#x7C7B;&#x6BD4;&#x5B50;&#x7C7B;&#x66F4;&#x6CDB;&#x5316;&#xFF1B;</strong></span></p><p><span><strong>&#x6CDB;&#x5316;&#xFF1A;&#x66F4;&#x52A0;&#x5BBD;&#x6CDB;&#x3001;&#x66F4;&#x52A0;&#x62BD;&#x8C61;&#xFF0C;&#x4EA4;&#x901A;&#x5DE5;&#x5177;&#x6BD4;&#x81EA;&#x884C;&#x8F66;&#x66F4;&#x6CDB;&#x5316;&#xFF0C;&#x5DE5;&#x4F5C;&#x65E5;&#x6BD4;&#x661F;&#x671F;3&#x66F4;&#x6CDB;&#x5316;</strong></span></p><p><span><strong>&#x7279;&#x5316;&#xFF1A;&#x66F4;&#x52A0;&#x8BE6;&#x7EC6;&#x3001;&#x66F4;&#x52A0;&#x5177;&#x4F53;&#xFF0C;&#x72D7;&#x6BD4;&#x52A8;&#x7269;&#x66F4;&#x5177;&#x4F53;&#xFF0C;14&#x70B9;&#x6BD4;&#x4E0B;&#x5348;&#x66F4;&#x5177;&#x4F53;&#xFF1B;</strong></span></p><p><span><strong>&#x6CDB;&#x5316;&#x548C;&#x7279;&#x5316;&#x7684;&#x793A;&#x610F;&#x56FE;</strong></span></p><p><span><strong>partial order&#x504F;&#x5E8F;&#xFF1A;&#x5BF9;&#x4E0D;&#x540C;&#x6CDB;&#x5316;/&#x7279;&#x5316;&#x5316;&#x7A0B;&#x5EA6;&#x7684;&#x51FD;&#x6570;&#x6A21;&#x677F;&#x8FDB;&#x884C;&#x91CD;&#x8F7D;&#x6392;&#x5E8F;&#xFF1B;&#x4EE5;&#x9632;&#x6B62;&#x51FD;&#x6570;&#x8C03;&#x7528;&#x7684;&#x6B67;&#x4E49;/&#x4E8C;&#x4E49;&#x6027;/ambiguous</strong></span></p><p><span><strong>partial specialization &#x504F;&#x7279;&#x5316;:&#x5BF9;&#x6A21;&#x677F;/&#x6CDB;&#x578B;&#x7C7B;&#x4E2D;&#x7684;&#x53C2;&#x6570;&#x7C7B;&#x578B;&#x8FDB;&#x884C;&#x5177;&#x4F53;&#x5316;&#x6216;&#x8005;&#x90E8;&#x5206;&#x5177;&#x4F53;&#x5316;&#xFF1B;&#x592A;&#x8FC7;&#x4E8E;&#x6CDB;&#x5316;&#xFF0C;&#x4E0D;&#x4FBF;&#x4E8E;&#x67D0;&#x4E9B;&#x5177;&#x4F53;&#x5B9E;&#x73B0;&#xFF1B;&#x66F4;&#x52A0;&#x5177;&#x4F53;&#x7684;&#x5B9E;&#x73B0;&#x9700;&#x8981;&#x66F4;&#x52A0;&#x7279;&#x5316;&#x7684;&#x53C2;&#x6570;&#xFF1B;</strong></span></p><p><span><strong>&#x4F8B;&#x5982;&#x5B9E;&#x73B0;&#x5403;Eat&#xFF08;&#xFF09;&#x65B9;&#x6CD5;&#x53EA;&#x9700;&#x3010;Animal&#x52A8;&#x7269;&#x3011;&#x6CDB;&#x5316;&#x5C42;&#x7EA7;&#x7684;&#x53C2;&#x6570;&#xFF0C;&#x800C;&#x5B9E;&#x73B0;&#x5403;&#x8089;EatMeat&#xFF08;&#xFF09;&#x65B9;&#x6CD5;&#x5219;&#x9700;&#x8981;&#x66F4;&#x52A0;&#x7279;&#x5316;&#x7684;&#x7684;&#x53C2;&#x6570;&#x3010;&#x98DF;&#x8089;&#x52A8;&#x7269;carnivore&#x3011;</strong></span></p><p><span><strong><span>class template partial specialization&#x7C7B;&#x6A21;&#x677F;&#x504F;&#x7279;&#x5316;</span></strong></span></p><p><span><strong><span>function template partial order&#x504F;&#x5E8F;&#x6A21;&#x677F;&#x51FD;&#x6570;</span></strong></span></p><p></p></'('></sstream></code></pre></"></size_t>

Original: https://www.cnblogs.com/zhangdezhang/p/16408083.html
Author: 张德长
Title: C++学习笔记(5)–STL

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/611222/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • MySQL源码分析之SQL函数执行

    1.MySQL中执行一条SQL的总体流程 2.SQL函数执行过程 1.MySQL中执行一条SQL的总体流程 一条包含函数的SQL语句,在mysql中会经过: &#x5BA2…

    数据库 2023年5月24日
    099
  • 如何把返回的datatable按某个字段 排序 升序或者降序

    如何把返回的datatable按某个字段 排序 升序或者降序 DataTable dtdata = GetXmlData(doc, “DetailList”…

    数据库 2023年6月9日
    067
  • 努力的去帮助他人

    天道运而无所积,故万物成;帝道运而无所积,故天下归;–庄子《天道篇》 知识分享才能成长,财富流动才能更多;努力的去帮助每一个人,自己也会收获更多的快乐;不要为生活琐事在…

    数据库 2023年6月16日
    091
  • Docker下部署Spring Boot项目

    1.编写Docker File FROM openjdk:8-jdk-slim LABEL maintainer=ddzhan COPY target/*.jar /app.jar…

    数据库 2023年6月6日
    088
  • mysqldb安装与修改密码

    链接: https://pan.baidu.com/s/1p72By5U3EnnsfPpYwfHmlw 提取码: vs64 描述:解压文件之后 找到bin目录 里面会有mysql….

    数据库 2023年6月9日
    065
  • 分库分表真的适合你的系统吗?聊聊分库分表和NewSQL如何选择

    曾几何时,”并发高就分库,数据大就分表”已经成了处理 MySQL 数据增长问题的圣经。 面试官爱问,博主爱写,考生爱背诵,似乎形成了一个闭环。 [En] I…

    数据库 2023年5月24日
    0111
  • JVM

    JVM 一、什么是JVM 定义 Java Virtual Machine,JAVA程序的运行环境(JAVA二进制字节码的运行环境) 好处 一次编写,到处运行 自动内存管理,垃圾回收…

    数据库 2023年6月16日
    055
  • 将侧边栏制成inclusion_tag

    在开发过程中,像侧边栏这种功能的版块,我们在很多页面都需要使用到的时候,我们则需要在视图函数中书写重复的代码,这样很繁琐,我们可以将侧边栏制成inclusion_tag,后面我们需…

    数据库 2023年6月14日
    075
  • 电商项目:玩转拼团活动营销设置

    拼团是什么意思?拼团是各大购物平台近两年新增的一种营销活动工具,买家通过自身分享邀请好友组团,成团后享受卖家商品的让利,商家不用过多宣传就能很好地解决产品推广和引流问题。 拼团的发…

    数据库 2023年6月14日
    073
  • 容器化 | ClickHouse Operator 原理解析

    作者:苏厚镇 青云科技数据库研究工程师从事 RadonDB ClickHouse 相关工作,热衷于研究数据库内核。 通过《ClickHouse on K8s 部署篇》,对比了 Ra…

    数据库 2023年5月24日
    0111
  • MySQL8.0.x 安装傻瓜式教程【极简】

    MySQL8.0.x 安装 一、下载 MySQL官网下载链接:https://downloads.mysql.com/archives/community/ 选择版本后下载zip文…

    数据库 2023年5月24日
    086
  • Dubbo源码(六)-服务路由

    前言 本文基于Dubbo2.6.x版本,中文注释版源码已上传github:xiaoguyu/dubbo 今天,来聊点短的,服务路由 Router,本文讲的是路由的调用路径,不讲路由…

    数据库 2023年6月11日
    073
  • 自动化测试练手项目推荐

    转载请注明出处❤️ 作者:测试蔡坨坨 原文链接:caituotuo.top/80599ac8.html 你好,我是测试蔡坨坨。 最近收到许多自学自动化测试的小伙伴私信,学习了理论知…

    数据库 2023年6月11日
    0113
  • 设计模式之(8)——代理模式

    定义:为某个对象提供一个代理,以达到对这个对象的访问控制,代理类和委托类有共同的父类或者父接口,这样可以在使用委托类的地方都可以使用代理对象来替换(这符合程序设计中的”…

    数据库 2023年6月14日
    079
  • MySQL索引(一)

    一、索引概念 二、索引类型 (一)业务逻辑分类 1、NORMAL – 普通索引 2、UNIQUE – 唯一索引 3、PRIMARY KEY – …

    数据库 2023年6月16日
    096
  • idea的使用技巧和必要的设置

    idea 如何开启多个线程 打开下面按钮,然后运行相同的代码即可 打开idea需要选择打开哪一个项目 设置如下,关闭下面选项即可 posted @2022-06-17 21:07 …

    数据库 2023年6月14日
    092
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球