被贴上了家庭作业的标签,因为这是我写的一个期中考试的问题,我不明白答案。我被要求在下面的声明中解释每个const的目的:
const char const * const GetName() const { return m_name; };那么,这些常量的解释是什么呢?
发布于 2009-12-03 04:04:16
从右边拿过来。;之前的一个告诉客户端这是一个设计级常量,即它不会改变对象的状态。(可以将其视为只读方法。)
好的,现在是返回值:
const char const *const这是一个指向okay的常量指针...我们开始吧!您有一个额外的const --一个语法错误。以下代码是等效的:const T或T const。如果你取出一个const,你会得到一个指向常量字符的常量指针。这有帮助吗?
发布于 2009-12-03 04:02:18
你的const比语法上允许的多了一个,代码将无法编译。删除"char“之后和"*”之前的"const“。另外,最后一个const必须出现在函数体之前。从右到左阅读这样的东西是很有帮助的。
const char * const GetName() const { return m_name; };您有一个const函数(即该函数不会改变类的状态),它返回一个指向const char的const指针。
发布于 2009-12-03 04:05:22
(1)const char (2)const * (3)const GetName() { return m_name;} (4)const;
正如已经在另一个答案中提到的从右到左“记住”它的诀窍:
的const指针
https://stackoverflow.com/questions/1835399
复制相似问题