美文网首页
c++ primer 阅读 day7

c++ primer 阅读 day7

作者: HenryTien | 来源:发表于2017-12-28 15:23 被阅读7次

    3.3 标准库类型 vector

    3.3.1 定义和初始化vector对象

    可以默认初始化vector对象
    vector<string> svec; //默认初始化,svec不包含任何元素。

    列表初始化vector对象
    vector<string> articles ={"a","an","the"};
    如果是初始元素值的列表,那么只能放在花括号里进行列表初始化,而不能放在圆括号里。

    #include<iostream>
    #include<vector>
    
    int main()
    {
        std::vector<int> ivec;
        ivec.push_back(1);
        std::cout<<ivec[0]<<std::endl;
    
        //列表初始化
        std::vector<std::string> articles = {"a","b","c"};
        for(int32_t i = 0;i<articles.size();i++)
        {
            std::cout<<articles[i];
        }
        std::cout<<std::endl;
        std::cout<<articles[0]<<std::endl;
    
        std::vector<int> ivec_same(10,-1);
        std::cout<<ivec_same[0]<<std::endl;
    
        int32_t i = 10;
        std::vector<int> iDefualtVec; // 默认初始化
        std::vector<int> iTestCopy(iDefualtVec);  //元素拷贝
        std::vector<int> iCopyVec(10); //值初始化
        std::vector<int> iTest = iCopyVec;  //拷贝初始化
        std::cout<<iTest[0]<<std::endl;
      //  std::cout<<iTestCopy[0]<<std::endl;
    
        std::vector<std::string> v5(10);
        std::cout<<v5[0]<<std::endl;
    
        std::vector<std::string> v6{10};  //10个默认初始化元素
        std::cout<<v6[0]<<std::endl;
    
        std::vector<std::string> v7{2,"hello"};
        for(int32_t i  = 0;i < v7.size();i++)
        {
               std::cout<<v7[i];
        }
    
        return 0;
    }
    

    3.3.2 向Vector对象中添加元素

    note
    如果for语句中添加vector对象的元素,则不能使用范围for循环。

    #include<iostream>
    #include<vector>
    
    using namespace std;
    int main()
    {
        vector<int> v2;  // 空vector
        for(int32_t i = 0; i < 100; i++)
            v2.push_back(i);
    
        for(auto iter = v2.begin();iter!=v2.end();++iter)
            cout<<*iter<<" ";
            cout<<endl;
    
        string word;
        vector<string> text; // 空vector对象
        while(cin>>word)
            text.push_back(word);
    
        for(auto iter1 = text.begin(); iter1!=text.end();++iter1)
        {
            cout<<*iter1<<" ";
        }
        return 0;
    }
    

    求元素的平方

    vector<int> vNum;
        int32_t iNum = 0;
        cout<<"number: ";
        while(cin>>iNum)
            vNum.push_back(iNum);
    
        for(auto &iResult : vNum)
            iResult *= iResult;
    
        for(auto i:vNum)
            cout<<i<<" ";
    

    相关文章

      网友评论

          本文标题:c++ primer 阅读 day7

          本文链接:https://www.haomeiwen.com/subject/iiergxtx.html