[C++杂记] STL容器当作参数传递
来源:互联网 发布:ug10编程免费视频教程 编辑:程序博客网 时间:2024/06/15 03:41
1、STL容器类自带的拷贝构造函数和符号“=”对容器进行深拷贝
常见的STL容器包括:vector,deque,list,set,multiset,map,multimap,stack,queue,priority_queue。
将STL容器当作参数传递给函数时,如果是值传递,则会自动调用STL容器的拷贝构造函数,如下面的程序片段。
vector的拷贝构造函数会根据传进来的vector开辟相同的空间,然后将传进来的vector的元素一个一个拷贝到新的vector中。在逐个拷贝元素的过程中,如果该元素不是int型,而是一个自定义的类,那么必须使用该自定义的类的拷贝构造函数。那么,此时是否为深拷贝,取决于该自定义的类是否重写了拷贝构造函数。(关于STL容器内元素的拷贝问题,见引用1)除了STL容器外,string类自带的拷贝构造函数也是深拷贝。
2、使用上述的容器或者string作为函数的参数时,引用传递和值传递的区别
值传递示意图:
引用传递示意图:
阅读全文
0 0
- [C++杂记] STL容器当作参数传递
- [C++杂记] STL容器当作参数传递
- Jquery把整个表单当作参数传递
- 黑马程序员---------C语言 关于数组被当作函数参数传递的问题
- 【C/C++】STL容器
- C++STL容器
- C++STL容器简介
- c++STL容器
- c++STL容器使用
- C++--STL---set容器
- C++STL中的容器
- 【c++】stl顺序容器
- nodejs当作web容器
- DLL中传递STL参数
- DLL中传递STL参数
- C/C++--参数传递
- DLL之间的容器传递;STL+DLL
- c++STL通用容器 之 bitset容器
- 使用phpstudy+nat123实现网站发布(实现外网访问内网)
- 22.Nginx的简介
- 接口
- qnx学习笔记-qnx的电容触摸校准calib使用教程
- 常用的汇编指令
- [C++杂记] STL容器当作参数传递
- redis外网访问设置
- .创建一个窗口程序(JFrame),标题栏起名为“浏览器”,有一个菜单条,有“文件”、“编辑”、“查看”3个菜单。“文件”菜单有两个菜单项,一项是“打开”,一项是“保存”,“打开”项做成子菜单,有两个
- [2017-11-10]读书笔记 Web API
- python爬虫笔记
- LISTBOX
- 机器学习简介
- 内容解刨——dubbo自己的SPI实现
- 获取安卓app的package和activity比较好用的方式