Const正确性:const char const*const GetName const(// stuff);

6 c++ const-correctness

标记为作业,因为这是一个关于期中考试的问题,我写道,我不明白答案.我被要求在以下声明中解释每个const的目的:

const char const * const GetName() const { return m_name; };
Run Code Online (Sandbox Code Playgroud)

那么,每个这些争论的解释是什么?

dir*_*tly 6

从右边拿走它们.;告诉客户端之前的那个是设计级别const,即它不会改变对象的状态.(将此视为只读方法.)

好的,现在返回值:

const char const *const
Run Code Online (Sandbox Code Playgroud)

这是一个指向好的指针......在这里我们一动不动!你有一个额外的const- 语法错误.以下是等效的: const TT const.如果你拿出一个const你得到一个恒定字符的常量指针.这有帮助吗?