2017-03-26 62 views

回答

2
const char* GetName() const; 

const关键字中第一次出现上述语句是函数GetName()的返回值的数据类型,它也是一个常量函数。

这意味着,通过GetName()返回的值将是:

    类型的
  • char
  • 指针
  • 一个const

由于返回值将是constGetName()会收到一个指向常量值的指针。所以,如果您有:

Person object; 
const char* point = object.GetName(); 

*point将指向一个恒定值char

+0

不应该是'const char * point = object.GetName();'在你的例子中? – zett42

3

您指定由函数返回的指针的指针,指向constchar

1

正如上面已经解释的那样,它说const的指针。它只能用于const指针。

const char * p = GetName(); //Compiled successfully 
char * p = getName(); //compilation error... however you can remove using const_cast) 

const char*反映char*是恒定的。因此,下面的行会给出错误: -

*p = 'c'; 

但是在这里P不是恒定的。所以,你可以这样写: -

char ch; 
p = &ch; 

通常,当函数返回值,我们关注的值(如它不应该被修改)。我希望这会有所帮助。

相关问题