2011-11-23 17 views
0

可能重复:
What does const mean following a function/method signature?当你的函数名和输入后面有“const”时,这意味着什么?

来吧笑我,但到底是什么功能后的常量说明什么?

int someFunc() const{ //<<----notice the const 
    //insert code blah... 
} 

如果我想const int的返回类型不会我只是写

const int someFunc(){ 
    //code.... 
} 
+0

我想说它也是重复的。我不知道我在寻找什么,这是一种晦涩难懂的寻找 – vvMINOvv

+1

顺便说一句,返回类型“int”和“const int”是100%相同的。编译器会忽略标量返回类型的顶级'const'。 – fredoverflow

+0

实际上是有道理的,谢谢@FredOverflow – vvMINOvv

回答

5

这意味着该函数不能改变任何成员变量。

class A { 
void Func() const 
{ 
    ++mI; // compiler error 
} 
int mI; 
}; 
4

这意味着,该功能不会改变对象的属性,除了“可变”

+0

感谢这些信息,我觉得@axon的答案对于像我这样的新手来说会更容易理解:D。再次感谢 – vvMINOvv

0

有关更详细的定义,请参见this。这是一个非常好的。

+0

我刚才读到:D谢谢 – vvMINOvv

相关问题