我最近被一个微妙的虫子咬了。
char ** int2str = {
"zero", // 0
"one", // 1
"two" // 2
"three",// 3
nullptr };
assert( int2str[1] == std::string("one") ); // passes
assert( int2str[2] == std::string("two") ); // fails
如果你有神一样的代码审查能力,你会注意到我忘记了,
after "two"
。
经过相当大的努力找到该错误后,我不得不问为什么有人会想要这种行为?
我可以看到这可能对宏魔术有用,但是为什么这是现代语言(如 python)中的“功能”?
您曾经在生产代码中使用过字符串文字连接吗?