Есть ли рациональная причина использовать двойные, а не одинарные кавычки для вывода единственного символа в С/C++? Например, почему пробел ставят " ", а не ' '?
Ответ
затем, что когда ты пишешь код в котором пробелы руками программиста вставляются (это как правило дебаг/хардкод), то тебе в итоге придется менять одинарные кавычки на двойные, если ты захочешь вместо внутрь ' ' что-нибудь добавить,
warning от gcc:
multi-character character constant [-Wmultichar]
std::cout << "abc " << 'h ' << "abc";
этот ворнинг мне нафиг не нужен, и выбирать между " и ' во время дебага программы мне тоже не нужно. А в продакшен-версии программ никакого дебаг/захардкоженного вывода не нужно тем более.
кроме того, "." создает литерал .\0, а '.' - char '.', а если мешать-туда сюда массивы символов с \0 и без него, ты напросишься на проблемы с безопасностью и стабильностью кода.
Комментариев нет:
Отправить комментарий