c++类型别名Const问题

C++ Type Aliasing Const Issue

本文关键字:问题 Const 别名 类型 c++      更新时间:2023-10-16

我有以下代码:

using ccStr = char*;
class Tt {
private:
    const char* tmp;
public:
    const ccStr & str() {
        return tmp;
    }
};

但是问题是"const ccStr"被评估为"char* const",这基本上是tmp不能绑定到返回类型的原因。我真的不明白为什么const会被移动…如何在不改变ccStr类型混叠的情况下解决这个问题?

const ccStr是const指针,const char *是指向const char类型的指针

return const_cast<const ccStr >(tmp);