vector
vector扩展内存时,不是在后面直接扩展,而是申请新的两倍内存,再把原数据拷贝的新的内存中再扩展
是为了保证内存的连续性
vector push_back
- 向vector中添加元素的时候,正常都是新的拷贝内容添加,如果是引用或者指针才会与外界互相影响
- 使用指针不举例
- 使用引用添加的时候举个例子
- 需要使用reference_wrapper修饰变量
vector<reference_wrapper<int>> vec; vector<int> b{1,2,3}; for(auto& i:b) { vec.push_back(ref(i)); } // ref是返回一个reference_wrapper对象,可以用作bind等,此对象可以隐式转化为引用类型