《c++ primer, 5E》
第86页到第91页,笔记:
标准库类型vector:
1、定义和初始化vector对象(最常见的方式就是先定义一个空vector)
列表初始化:vector<string> v1{"a", "an", "the"};
2、创建指定数量的元素:vector<int> ivec(10 , -1);
3、列表初始值还是元素数量?
总之,应用的时候想表示元素数量就用圆括号,想表示列表初始值就用花括号,
阅读代码的时候根据具体类型推断含义。
课后练习:
练习3.12
(1)正确。但是个别编译器可能不支持
(2)错误。类型不兼容
(3)正确。
练习3.13
(1)0个
(2)10个0
(3)10个42
(4)1个10
(5)2个分别是20、42
(6)10个null
(7)10个"hi"
练习3.14
#include<iostream> using std::cout; using std::cin; using std::endl; #include<string> using std::string; #include<vector> using std::vector; int main() { int val; vector<int> ivec; while(cin >> val) ivec.push_back(val); // for(int val: ivec) // cout << val << endl; return 0; }
练习3.15
#include<iostream> using std::cout; using std::cin; using std::endl; #include<string> using std::string; #include<vector> using std::vector; int main() { string word; vector<string> svec; while(cin >> word) svec.push_back(word); return 0; }
遇到的问题:
1、以c++11标准编译:g++ -std=c++11 prog1.cpp