码迷,mamicode.com
首页 > 编程语言 > 详细

C++ const && define

时间:2015-06-16 20:49:34      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:

本文记录了C++中的const关键字的内容,分为3个部分,const和define的区别,const的作用,const的使用。


const和define的区别

技术分享


const的作用

  1. const用于定义常量:编译器可以进行静态数据类型的安全检查。
  2. const修饰函数形式参数:当参数为自定义类型或抽象数据类型时,应该将“值传递”改为“const &传递”,可以提高效率,如下:

    void fun(A a);效率低,函数体内产生A类型的临时对象用于复制参数a,临时对象的构造、复制、析构过程将消耗时间。

    void fun(A const &a);效率极高。引用,不会产生临时对象,节省了时间,但是光引用有可能改变a的值,所以加const

  3. const修饰函数的返回值:如,给“指针传递”的函数返回值加const,则返回值不能被直接修改,且这个返回值只能被赋值给加 const修饰的同类型指针。如下:

    const char *GetChar(){}

    char *ch = GetChar();//error

    const char *ch = GetChar();//correct

  4. const修饰类的成员函数(函数定义体):任何不会修改数据成员的函数都应该用const修饰,这样,当不小心修改了数据成员或调用了非const成员函数时,编译器会报错。 int GetChar(void) const;

实例代码:

技术分享

小结:在类成员函数的声明和定义中,const的函数不能对其数据成员进行修改操作。const的对象,不能引用非const的成员函数。


const的使用

技术分享


C++ const && define

标签:

原文地址:http://www.cnblogs.com/zi-xing/p/4568244.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!