zoukankan      html  css  js  c++  java
  • STL

    VectorTest.cpp

    #include <vector>
    #include <iostream>
    #include <string>
    #include <algorithm>
    #include <iterator>
    #include "VectorTest.h"
    
    using namespace std;
    
    void VectorTest::simpleOperation()
    {
        // create empty vector for strings
        vector<string> sentence;
    
        // reserve memory for five elements to avoid reallocation
        sentence.reserve(5);
    
        // append some elements
        sentence.push_back("Hello,");
        sentence.insert(sentence.end(), { "how", "are", "you", "?" });
    
        // print elements separated with spaces
        copy(sentence.cbegin(), sentence.cend(),
            ostream_iterator<string>(cout, " "));
        cout << endl;
    
        // print "technical data"
        cout << "  max_size(): " << sentence.max_size() << endl;
        cout << "  size():     " << sentence.size() << endl;
        cout << "  capacity(): " << sentence.capacity() << endl;
    
        // swap second and fourth element
        swap(sentence[1], sentence[3]);
    
        // insert element "always" before element "?"
        sentence.insert(find(sentence.begin(), sentence.end(), "?"),
            "always");
    
        // assign "!" to the last element
        sentence.back() = "!";
    
        // print elements separated with spaces
        copy(sentence.cbegin(), sentence.cend(),
            ostream_iterator<string>(cout, " "));
        cout << endl;
    
        // print some "technical data" again
        cout << "  size():     " << sentence.size() << endl;
        cout << "  capacity(): " << sentence.capacity() << endl;
    
        // delete last two elements
        sentence.pop_back();
        sentence.pop_back();
        // shrink capacity (since C++11)
        sentence.shrink_to_fit();
    
        // print some "technical data" again
        cout << "  size():     " << sentence.size() << endl;
        cout << "  capacity(): " << sentence.capacity() << endl;
    }
    
    void VectorTest::run()
    {
        printStart("simpleOperation()");
        simpleOperation();
        printEnd("simpleOperation()");
    }

    运行结果:

    ---------------- simpleOperation(): Run Start ----------------
    Hello, how are you ?
    max_size(): 153391689
    size(): 5
    capacity(): 5
    Hello, you are how always !
    size(): 6
    capacity(): 7
    size(): 4
    capacity(): 4
    ---------------- simpleOperation(): Run End ----------------

  • 相关阅读:
    super与this的区别?
    springboot(4)-thymeleaf
    springboot(3)-自定义josn
    springboot(2)-Http协议接口开发
    springboot(1)-HelloWorld
    SpringSecurityOauth2.0
    Docker 应用部署
    RabbitMQ02
    RabbitMQ01
    011通用寄存器
  • 原文地址:https://www.cnblogs.com/davidgu/p/4873742.html
Copyright © 2011-2022 走看看