【发布时间】:2026-02-22 19:10:01
【问题描述】:
我有一个在编译时已知的整数常量(但不是在代码编写时),我想在编译时生成一个const char*,将它们保存为 ASCII。例如
const int C = IntegerConst;
const char*C_as_text = StaticConvert(A);
这样,如果IntegerConst 在某些#included 头文件中给出,比如IntegerConst=42,而不是C_as_text="42"。
知道如何获得这样的StaticConvert() 功能吗?原则上这必须是可能的,因为编译器和预处理器手头有所有必要的信息。
【问题讨论】:
-
如果数字本身是一个常数表达式,是某种计算的结果(可能是
sizeof(MyType)?),我们可以讨论一个模板解决方案......