这个const,用着用着,竟不断发现它有许多长处,对它的好感度日渐攀升,觉得它有这般价值和意义,实在值得拥有一篇自己的专栏
- 1.用const限定数据本身可以避免不小心修改这个数据。
- 2.用const限定指针,保证指针永远指向这个值。
比如,把1和2合并起来用
const char * const char months[12] =
{
"January", "Februry", "March", "April", "May", "June",
"July", "August", "September", "October", "Novenmber", "December"
};
这个数组保护的特别周全,两道屏障,第1个const保证了数组是常量数组,元素都是常量,即不能通过这个指针来修改数组元素的值;第2个const保证了指针是const常量,即永远指向这个数组的第一个字符串
这种常量数组通常都是定义为外部变量即全局变量的,所有文件的函数都可以访问。
- 3.用const形参使函数可以处理const和非const数据,但是普通形参只能处理非const数据。
- 4.用const引用可以使得函数在传入的参数类型不匹配或者类型对但是是常量值时,生成匿名的临时变量作为引用变量,保证函数正确完成任务。所以通常直接把引用形参声明为const。
- 5.通常也把返回引用设置为const,以避免合法但错误的赋值,比如这篇博客中的例子:把返回类型设置为const引用,以阻止合法却错误的赋值,如accumulate(dup, five) = four;
来源:CSDN
作者:doubleslow;
链接:https://blog.csdn.net/qq_36607894/article/details/104699867