C++Typedef到指针的const值const地址
C++ Typedef to const value const address of pointer
这会起作用吗?它合法吗:
typedef const MyClass * const MY_CONST_TYPE
还是我必须把它分解成2个typedef?
感谢
如果在语句末尾放一个分号,则没有什么能证明这个typedef是正确的。
以下是的示例
class MyClass {};
typedef const MyClass * const MY_CONST_TYPE;
int main()
{
MyClass a;
MY_CONST_TYPE pa = &a;
return 0;
}
或者使用详细的类型名称,您甚至可以更改声明的顺序
typedef const class MyClass * const MY_CONST_TYPE;
class MyClass {};
int main()
{
MyClass a;
MY_CONST_TYPE pa = &a;
return 0;
}
using
语法,您可能会发现它更容易阅读。
using MY_CONST_TYPE = const MyClass* const;
const MyClass * const
本身就是一个有效类型。因此,你的typedef
也可以,只要你在末尾加一个分号!