C++ 容器的assign()函数
来源:互联网 发布:解决mac下迅雷慢 编辑:程序博客网 时间:2024/06/15 18:35
STL中不同容器之间是不能直接赋值的,assign()可以实现不同容器但相容的类型赋值,如:
list<string> names;vector<const char*> oldstyle = { "I","love","you" };//names = oldstyle;错误!不同的类型不能执行"="操作names.assign(oldstyle.cbegin(), oldstyle.cend());list<string>::iterator it;for (auto it = names.begin(); names.begin() != names.end(); it++) cout << *it << " ";
有两点要注意:
1.赋值运算会导致指向左边容器内部的迭代器、引用和指针失效,而swap操作将容器内容交换不会导致指向容器的迭代器、引用和指针失效(容器类型为array和string的情况除外).
2.向一个vector、string或deque插入元素会使得所有指向容器的迭代器,引用和指针失效。
0 0
- C++STL中vector容器 assign()函数的用法
- C++ 容器的assign()函数
- string容器下的assign
- 顺序容器:容器的赋值、swap、assign
- 顺序容器:容器的赋值、swap、assign
- boost assign库 对 stl容器 的操作
- STL里Vector的assign()函数用法
- C++:string 的substr()和assign()
- 【C++】vector容器和list容器中使用单个迭代器的erase函数学习笔记
- list容器的函数
- 容器vector的函数
- 容器stack的函数
- assign,copy,retain -Object-C中纠结的三个属性(assign)
- String中的assign函数
- object.assign函数用法
- Object.assign函数
- string::assign函数
- c++STL值assign
- Sum Root to Leaf Numbers
- js重新加载页面
- 怎么用几何画板代替word绘制图形
- 移动端拖拽的时候不触发点击事件
- CentOS 7 设置 svn 开机启动
- C++ 容器的assign()函数
- 数据库理论(3)之数据模型
- C/C++程序编译过程
- Lock与synchronized 的区别
- mssql动态sql查询使用in
- TCP UDP IP 协议汇总(未完待续)
- postgresql 安装教程
- POJ 1743 Musical Theme (后缀数组,求最长不重叠重复子串)
- java面试题