C++ 函数定义末尾加个const是什么意思?

作者&投稿:超静 (若有异议请与网页底部的电邮联系)
c++ 在函数后加const是什么意思?~

const是一个C语言的关键字,它限定一个变量不允许被改变。使用const在一定程度上可以提高程序的安全性和可靠性,另外,在观看别人代码的时候,清晰理解const所起的作用,对理解对方的程序也有一些帮助。

在成员函数中圆括号之后所带的关键字const表明,在该函数中不能改变类中的数据成员的值。带const的函数称为常量成员函数。下面就是个错误例子,说明const的作用:class a{int a;public:void disp() const{a=4};//a=4错误};

FROM:http://blog.sina.com.cn/s/blog_74cf26810100swj5.html

const用在成员函数后 主要是针对类的const对象
如:
class Text{
public:
void printconst(void)const{cout<<"hello"<<endl;}
void print(void){cout<<"hello"<<endl;}
private:
int k;
};
const Text a;
//上面定义了类Text的一常量对象
int main(void)
{
a.printconst(); //ok
a.print(); //error
//上面a.print()调用是非法的
return 0;
}
const对象只能调用const成员函数。
const对象的值不能被修改,在const成员函数中修改const对象数据成员的值是语法错误
在const函数中调用非const成员函数是语法错误

这是把整个函数修饰为const,意思是“函数体内不能对成员数据做任何改动”。如果你声明这个类的一个const实例,那么它就只能调用有const修饰的函数。

这个const是说明在这个成员函数中的this指针是只读的,即不能修改该类的成员变量的值。

确保数据是静态的,不可更新的。


宜阳县13667623551: C++ 函数定义末尾加个const是什么意思? -
野贝硫酸: 这个const是说明在这个成员函数中的this指针是只读的,即不能修改该类的成员变量的值.

宜阳县13667623551: c++ 在函数后加const是什么意思? -
野贝硫酸: const是一个C语言的关键字,它限定一个变量不允许被改变.使用const在一定程度上可以提高程序的安全性和可靠性,另外,在观看别人代码的时候,清晰理解const所起的作用,对理解对方的程序也有一些帮助.

宜阳县13667623551: C++中函数名后面加CONST表示什么意思 -
野贝硫酸: const 关键字用于修改字段或局部变量的声明.它指定字段或局部变量的值是常数,不能被修改.

宜阳县13667623551: C++ 中函数后面跟 CONST是什么意思
野贝硫酸: 这称之为const成员函数,使调用该函数的数据对象不会被修改,就像用const修饰int类型变量a一样,a为静态常量,不能被修改(这里说的是不能,不代表无法修改).

宜阳县13667623551: C++ 中函数后面跟 CONST是什么意思 -
野贝硫酸: C++ 中函数后面跟 CONST 我想是你写错了 应该是const C++中的关键字都是小写的 这样的函数只可能出现在struct class 或 union中 这样的函数不能是静态的 const表示在函数的执行过程中不允许修改类内的数据成员(mutable修饰数据成员除外)

宜阳县13667623551: C++中函数名后跟个const表示什么意思?
野贝硫酸: 在成员函数中圆括号之后所带的关键字const表明,在该函数中不能改变类中的数据成员的值.带const的函数称为常量成员函数.下面就是个错误例子,说明const的作用: class a { int a; public: void disp() const{a=4};//a=4错误 };

宜阳县13667623551: const 放在函数后表示什么意思 -
野贝硫酸: const 放在函数后表示这个函数是常成员函数, 常成员函数是不能改变成员变量值的函数. const 限定符,它把一个对象转换成一个常量. 举例: 为了使成员函数的意义更加清楚,我们可在不改变对象的成员函数的函数原型中加上const说明: ...

宜阳县13667623551: 函数后加const啥意思? -
野贝硫酸: c++函数后加这个说明在这个函数里不能改变里面的成员变量

宜阳县13667623551: const在函数后面是什么意思? -
野贝硫酸: 1、首先const在函数后面,只能应用于类的成员函数. 2、const表示在函数的执行过程中不允许修改类内的数据成员(mutable修饰数据成员除外)

宜阳县13667623551: 函数后面加constant是什么意思呀
野贝硫酸: 首先,是加const不是constant.函数后面加const是表明这个函数不会更改class的状态,即class内各成员变量的值.编译器如果发现某个const函数里改变了成员变量的值会报错.比如下面这个例子.struct A { int i; void set(int v) {i = v;} //不能加...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网