gpt4 book ai didi

c++ - 生成constexpr字符串表,不能产生常量表达式

转载 作者:行者123 更新时间:2023-12-02 09:50:59 26 4
gpt4 key购买 nike

https://stackoverflow.com/a/37413361/1734357的启发,我希望创建一个固定大小和已知大小的字符串颜色查找表,因此我无需对其进行模板化,但是string不是constexpr

如何去做?

struct Colors
{
constexpr Colors() : colors()
{
for (size_t i = 0; i < 256; i++)
colors[i] = "0;" + to_string(i) + ";255";
for (size_t i = 0; i < 256; i++)
colors[256 + i] = "0;255;" + to_string(255 - i);
for (size_t i = 0; i < 256; i++)
colors[2 * 256 + i] = to_string(i) + ";255;0";
for (size_t i = 0; i < 256; i++)
colors[3 * 256 + i] = "255;" + to_string(255 - i) + ";0";
}
string colors[4*256];
};

最佳答案

老实说,我会在Python脚本中执行此操作,并生成C++源文件(由数组定义组成)作为预构建步骤。

这样,您就可以在编译时将信息烘焙到应用程序中,并且信息的来源仍然是易于修改的代码。
constexpr很好,但有时您只想自动生成一些代码。

关于c++ - 生成constexpr字符串表,不能产生常量表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59393126/

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