C++ CONST的用法总结 ,新手需要注意~~~
来源:互联网 发布:婚纱品牌 知乎 编辑:程序博客网 时间:2024/06/03 16:40
const在函数前与函数后的区别
- 一 const基础
如果const关键字不涉及到指针,我们很好理解,下面是涉及到指针的情况:
> const int* a = &b; [1]
> int* const a = &b; [3]
>
如果你能区分出上述四种情况,那么,恭喜你,你已经迈出了可喜的一步。不知道,也没关系,我们可以参考《effective > 另外const 的一些强大的功能在于它在函数声明中的应用。在一个函数声明中,const 可以修饰函数的返回值,或某个参数;对于成员函数,还可以修饰是整个函数。有如下几种情况,以下会逐渐的说明用法:a& operator=(const a& a);
>
2) 指针(引用)const常量初始化的情况:a* > const a* c = d;
或者:const > 引用:
>
[思考1]: 以下的这种赋值方法正确吗?
> a* e = c;
[思考2]: 以下的这种赋值方法正确吗?
> a* b = c;
三 作为参数和返回值的const修饰符
其实,不论是参数还是返回值,道理都是一样的,参数传入时候和函数返回的时候,初始化const变量
1 修饰参数的const,如 >
一般用const修饰返回值为对象本身的情况多用于二目操作符重载函数并产生新对象的时候。
[总结] 一般情况下,函数的返回值为某个对象时,如果将其声明为const时,多用于操作符的重载。通常,不建议用const修饰函数的返回值类型为某个对象或对 某个对象引用的情况。
原因如下:
如果返回值为某个对象为const或某个对象的引用为const ,则返回值具有const属性,则返回实例只能访问类a中的公有数据成员和const成员函数,并且不允许对其进行赋值操作,这在一般情况下很少用 到。
[思考3]: 这样定义赋值操作符重载函数可以吗?
>
四 类成员函数中const的使用
一般放在函数体后,形如:void fun() const;
如果一个成员函数的不会修改数据成员,那么最好将其声明为const,因为const成员函数中不允许对数据成员进行修改,如果修改,编译器将报错,这大 大提高了程序的健壮性。
五 使用const的一些建议
1 要大胆的使用const,这将给你带来无尽的益处,但前提是你必须搞清楚原委;
2 要避免最一般的赋值操作错误,如将const变量赋值,具体可见思考题;
3 在参数中使用const应该使用引用或指针,而不是一般的对象实例,原因同上;
4 const在成员函数中的三种用法要很好的使用;
5 不要轻易的将函数的返回值类型定为const;
6 除了重载操作符外一般不要将返回值类型定为对某个对象的const引用;
0 0
- C++ CONST的用法总结 ,新手需要注意~~~
- 总结一下c++(新手)需要注意的地方
- const需要注意的
- C/C++ const用法注意
- C++const用法总结
- C++const用法总结
- C++const用法总结
- C++const用法总结
- C++const用法总结
- C++const用法总结
- C++const用法总结
- c++->const用法总结
- C++:const用法总结
- C++const用法总结
- C++const所有用法的总结
- 新手学SEO需要注意的问题
- PCB新手需要注意的问题
- Idea 新手需要注意的地方
- 学会使用断言式编程--断言在iOS中的使用
- Android IPC 系列(3):Messager
- Opencv2系列学习笔记11(霍尔夫变换)
- C#学习5
- String字符串的常用方法
- C++ CONST的用法总结 ,新手需要注意~~~
- 关于Android中四类核心组件的简介
- 用python做自动化测试--实现高性能测试工具(3)-- 优化系统架构
- java中键盘输入和格式化输出
- Linux下history命令用法
- Swing —— Text Component常用API
- ofbiz osworkflow
- android:installLocation简析
- windows下在vim中使用gcc/g++编译调试c/cpp文件