gpt4 book ai didi

C++ 嵌套宏?

转载 作者:太空狗 更新时间:2023-10-29 23:24:28 24 4
gpt4 key购买 nike

在 C++ 中,有没有什么方法可以在类中定义嵌套的宏/常量,以类似于嵌套 typedef 的方式,或者实现类似功能的方法?动机通常是为了模板使用宏。

class SomeClass
{
public:
#define SomeConstant 123
};

int x=SomeClass::SomeConstant;

当然,静态常量成员可以完成这项工作,但那些是物理变量,而我正在寻找一个简单的类似宏的行为。

最佳答案

你不能用宏做你想做的事。宏没有作用域的概念。

但是对于简单的 int 值,你可以用枚举做你想做的。

class SomeClass
{
public:
enum {
SomeConstant=123
};
};

int x=SomeClass::SomeConstant;

值的完整范围名称,但不占用空间,即使在调试版本中也是如此 - 如果需要,您无法获取其地址。

关于C++ 嵌套宏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1720896/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com