最近我被一个微妙的错误所困扰。
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
如果您拥有神一般的代码审查能力,您会注意到我在"two"
后面忘记了,
。
在花费了相当大的努力找到这个错误之后,我不得不问:为什么有人会想要这种行为呢?
我可以看出这可能对于宏魔法很有用,但是为什么这是Python这样一个现代语言的"特性"呢?
您曾经在生产代码中使用过字符串字面量连接吗?