STL库的封装为程序员们提供了很多便利,它在我心中就是数据结构API的规范,一旦用上就再也回不去了。
本文记录学艺不精的我在对vector的size概念上理解不清出来问题,所以记录一下。
size指的是数组的大小(区分容量, 专指已经有数据的部分。
vector<int >data(4);
//这两种方法一样的
//vector<int >data;
//data.resize(4);
cout << data.size()<<endl;
输出 4 ,这时候虽然没有输入任何数据,但是数组内已经有4个值了,验证数组非空。
if (!data.empty())
cout << "非空" << endl;
输出 非空 , 我们看一下数组里存了什么
for (auto it : data)
cout << it << ' ';
输出 0 0 0 0 ,如果是自定义类型输出结果为默认构造函数(我的推测
然后向数组中加入数据,再输出看看
data.push_back(1);
for (auto it : data)
cout &l