C++ 类型别名常量问题

C++ Type Aliasing Const Issue

我有以下代码:

using ccStr = char*;

class Tt {
private:
    const char* tmp;

public:
    const ccStr & str() {
        return tmp;
    }
};

但问题是 "const ccStr" 被评估为 "char* const" 这基本上是 tmp 无法绑定到 return 类型的原因。 我真的不明白为什么 const 被移动了...... 如何在不更改 ccStr 类型别名的情况下解决此问题?

const ccStr是一个const指针,const char *是一个指向const char的指针

return const_cast<const ccStr >(tmp);