C++ Type Aliasing Const问题

C++ Type Aliasing Const问题,c++,c++11,types,constants,alias,C++,C++11,Types,Constants,Alias,我有以下代码: using ccStr = char*; class Tt { private: const char* tmp; public: const ccStr & str() { return tmp; } }; 但问题是constccstr的计算结果是char*const,这基本上就是tmp无法绑定到返回类型的原因。 我真的不明白为什么警察会动。。。 如何在不更改ccStr类型别名的情况下解决此问题?const ccStr是一个

我有以下代码:

using ccStr = char*;

class Tt {
private:
    const char* tmp;

public:
    const ccStr & str() {
        return tmp;
    }
};
但问题是constccstr的计算结果是char*const,这基本上就是tmp无法绑定到返回类型的原因。 我真的不明白为什么警察会动。。。 如何在不更改ccStr类型别名的情况下解决此问题?

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

return const_cast<const ccStr >(tmp);

std::add_指针::类型?:@哎哟。太糟糕了,这是实际的答案:pinc++14一个可以这样做:std::add_pointer\t。哈哈。但这看起来还是很糟糕S:这会教你不要在typedefs:pAh后面隐藏指针,我理解:。我猜@Jarod42也回答了我的最后一个问题:如何将构造解析为cons char指针xD。