C++三种参数传递方法(值传递、指针传递、引用传递)的一些知识
来源:互联网 发布:java loader安卓 编辑:程序博客网 时间:2024/05/16 05:35
C++的函数参数传递有三种方法:值传递、引用传递、指针传递 。其中引用传递和指针传递几乎一样,只不过引用传递在使用时比指针更安全。
(1)关于函数返回一个对象
当你的函数返回类型是【非引用】的类型时,return时先调用该类的拷贝构造函数生成函数内部那个临时对象的第二个临时副本,然后调用析构函数销毁原来的那个临时对象,外部调用函数的地方得到的返回对象就是第二个副本,函数调用完(包括调用处的返回对象作为源对象产生其它副本)之后第二个副本也会自动销毁,这整个(自动拷贝对象、两个对象的自动销毁)过程都是自动完成的。另外如果到return处才调用构造函数生成第一个临时对象的话那么编译器会将上述过程的2个对象优化为一个对象。
如果一个对象太大,一般能返回指针或引用则尽量返回指针或引用,这样可以减少创建副本的开销。(但该返回对象时千万不要返回引用或指针)
(2)指针与引用
有时指针太危险,用引用可以避免。
指针可以被delete掉,但引用就不能被delete了。往往指针的危险就是来自于delete。如果有两个指针同时指向一个内存地址,如果一个指针使用了delete操作,那么另一个指针在使用时就会出错了。
0 0
- C++三种参数传递方法(值传递、指针传递、引用传递)的一些知识
- C++的三种传递参数到函数的方法:按值传递,用引用参数按引用传递,用指针参数按引用传递
- C/C++语言参数传递----值传递、引用传递、指针传递、指针引用传递
- C/C++语言参数传递----值传递、引用传递、指针传递、指针引用传递
- C/C++语言参数传递----值传递、引用传递、指针传递、指针引用传递
- C或C++中函数的参数传递包括:值传递、指针传递、引用传递
- C或C++中函数的参数传递——值传递、指针传递、引用传递
- [C]值传递、指针传递、引用传递
- 参数的值传递,指针传递和引用传递
- C++ 参数指针传递、引用传递、值传递的区别
- 彻底搞定C指针-——第五篇:函数参数的传递(值传递、地址传递、引用传递)
- 函数参数异同(值传递、指针传递、引用传递)
- C++ 参数传递方式:值传递,引用传递,指针传递
- 一道考察函数参数传递、值传递、指针传递(地址传递)、引用传递
- 一道考察函数参数传递、值传递、指针传递(地址传递)、引用传递
- Java方法参数的传递机制,值传递?引用传递?
- C专家编程--指针和数组(三) 值传递 指针传递 引用传递
- 图解C/C++中函数参数的值传递、指针传递与引用传递
- dedecms系统搬家后或在系统还原后
- 访问应用突然很慢
- 001绘制直线
- iOS 8 xcode 6 beta 模拟器键盘不弹出
- MS Excel 2007 为什么不会出控件的属性对话框
- C++三种参数传递方法(值传递、指针传递、引用传递)的一些知识
- Tomcat jdk 如何配置环境变量
- 硬币问题
- android,获取当前时间。24小时。
- Delphi系列书籍 118本(全)链接参考
- opengl键盘控制一
- spark中job的逻辑计划--RDD
- 习题6-2 S树 UVa712
- android AndroidManifest.xml下的标签android:allowBackup="true"