Тот неловкий момент...

Sep 26, 2016 19:19

когда обнаруживаешь источник ошибки и начинаешь недоумевать - как же оно раньше столько лет работало?!

Leave a comment

Comments 3

corviniol September 30 2016, 19:24:52 UTC
А может раньше его никто не использовал? Мне папа рассказывал как они нашли критичную ошибку в каком-то модуле, которая должна была воспроизводиться почти всегда. И решили что если за 5 лет эксплуатации заказчик на неё не жаловался, значит этот модуль не запускали. В следующем релизе его вообще удалили и никто не заметил.

У меня вот был эпизод когда я на следующее утро посмотрел на написанный вечером код и ... переписал полностью рабочий код заново, во имя читабельности.

Reply

__kirill__ October 1 2016, 13:16:10 UTC
Использовалось и работало. Просто предыдущая версия компилятора "правильным образом" догадалась, как конвертировать const std::string& в const char*, а новая - отказалась такой код компилировать.

Reply

corviniol October 2 2016, 15:35:25 UTC
Тот неловкий момент, когда понимаешь что стандартная библиотека твоего компилятора не соответствует стандарту :-).

Прекрасная подстава о которой я никогда не задумывался:
"The pointer obtained from c_str() may only be treated as a pointer to a null-terminated character string if the string object does not contain other null characters. " http://en.cppreference.com/w/cpp/string/basic_string/c_str

Reply


Leave a comment

Up