c++ const,引用,STL容器
来源:互联网 发布:php ajax传值 编辑:程序博客网 时间:2024/06/01 08:13
1、const
const int * :指向const对象的指针
1、不能通过该指针来修改对象的值,但是可以使指针指向不同的对象;
2、非const对象的指针不能指向一个const对象;
3、非const对象的地址可以赋给const对象的指针;
const int* const
const参数和非const参数,算函数重载;
2、引用
1)、必须初始化,一旦已经定义,就不能再指向其他的对象;
2)、引用的操作实际上都应用在它所指的对象身上;
3)、const引用可以用不同类型的对象初始化,只要能完成类型转换;
4)、不允许非const引用指向需要临时对象的对象或值,比如:
SetNickname(int userid,Octets & nickname)方法,采用下面的方式会编译错误
SetNickname(100,Octets());提示方法参数是Octets&,而不是Octets。
而将方法改为SetNickname(int userid,const Octets & nickname)时就可以。
5)、如果一个引用给另一个引用赋值,那么改变的是被引用的对象,而不是引用本身(两个引用仍然指向原来的对象)。所以可以用引用参数来完成两个参数值交换的方法。P89
STL容器
只要容器里放的不是指针,怎么修改查到的东西,都不会影响容器里存的东西。返回的都是副本。改了deliver的gmcontainer类,查找返回std::vector<int>*。insert效率比map[**]=**效率高,因为新元素必须先使用default构造函数将value初始化,而这个初值马上又被真正的value给覆盖了;
const int * :指向const对象的指针
1、不能通过该指针来修改对象的值,但是可以使指针指向不同的对象;
2、非const对象的指针不能指向一个const对象;
3、非const对象的地址可以赋给const对象的指针;
int * const:指向非const对象的const指针:不能使该指针指向新的对象,但是可以改变它指向的值;
const int* const
const参数和非const参数,算函数重载;
2、引用
1)、必须初始化,一旦已经定义,就不能再指向其他的对象;
2)、引用的操作实际上都应用在它所指的对象身上;
3)、const引用可以用不同类型的对象初始化,只要能完成类型转换;
4)、不允许非const引用指向需要临时对象的对象或值,比如:
SetNickname(int userid,Octets & nickname)方法,采用下面的方式会编译错误
SetNickname(100,Octets());提示方法参数是Octets&,而不是Octets。
而将方法改为SetNickname(int userid,const Octets & nickname)时就可以。
5)、如果一个引用给另一个引用赋值,那么改变的是被引用的对象,而不是引用本身(两个引用仍然指向原来的对象)。所以可以用引用参数来完成两个参数值交换的方法。P89
STL容器
只要容器里放的不是指针,怎么修改查到的东西,都不会影响容器里存的东西。返回的都是副本。改了deliver的gmcontainer类,查找返回std::vector<int>*。insert效率比map[**]=**效率高,因为新元素必须先使用default构造函数将value初始化,而这个初值马上又被真正的value给覆盖了;
0 0
- c++ const,引用,STL容器
- 【c/c++】const引用
- 【C/C++】STL容器
- C++:const和引用
- C++STL容器
- C++STL容器简介
- c++STL容器
- c++STL容器使用
- C++--STL---set容器
- C++STL中的容器
- 【c++】stl顺序容器
- 引用方式访问STL容器潜在隐患
- C++const对象和 引用
- 11、C++const指针 引用
- c传参引用const
- const 引用(c++primer笔记)
- C++_引用与const
- C++:指针、引用和CONST
- android监听home键
- 好的产品经理是怎样炼成的?
- LeetCode OJ - Search Insert Position
- 双目相机的畸变校正以及平行校正(极线校正)的入门问题总结
- OBJECTIVE-C中nsstring的writetofile atomically参数解释
- c++ const,引用,STL容器
- Swift语言从天而降,能否掀起新一轮的科技革命?
- C语言学习随笔
- 动态规划+滚动数组 -- POJ 1159 Palindrome
- hdu 1788
- 用sql 注销远程脚本
- Fibonacci数列 3
- 爱上了我的司机(2)
- Handler中的一些总结