Недавно меня укусила тонкая ошибка.
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?
Вы когда-нибудь использовали конкатенацию строк в производственном коде?