Pull to refresh
584
39.1
Андрей Карпов @Andrey2008

Директор по маркетингу

Send message

В данном случае согласен. В более общем, указатель может инициализироваться при одних условиях и оставаться нулевым в других. Программисты знают про это и пишут лишние проверки перед delete (и перед free в C). Я имел в иду, что такие проверки не нужны, так как deletefree) корректно обработают нулевой указатель.

Да, еще есть new(std::nothrow), но он тут ни при чём.

Просто интересно, а почему не упоминается статический анализ кода? По идее он идёт ещё раньше или параллельно с юнит-тестированием. Или статический анализ относится  уже не к команде тестирования? Хотя юнит-тесты, вроде тоже не задача тестировщиков.

Мы так никому не отвечаем. Более того, у нас есть несколько вариантов бесплатного лицензирования для студентов, открытых проектов и т.д. Вы или спутали PVS-Studio с другим анализатором или произошло ещё какое-то недоразумение/непонимание.

Такое вполне обосновано. Оно служит для непонятных низкоуровневых действий. Я про это упоминаю (про сложные конструкции). Фактически это более высокоуровневое описание этих действий.

Написал обыкновенный вариант - молодец.

Дополнительно сказал, что был какой-то прём/инструкция - молодец++.

За пример с va_arg спасибо. Выписал в список идей для новых диагностик.

По поводу массивов единичного размера в конце структур. Да, это особая тема, про которую я забыл упомянуть. Кстати, этот момент не очень понятно, как описать. Ибо всё будет работать, так как компиляторы точно в курсе такого приёма создания структур переменного размера. Другое дело, я не уверен, как всё это смотрится с теоретической точки зрения.... :)

PDF могу сделать, но не очень вижу смысл. Если хотите, сделаю и где-то выложу. Бумажная книга готовится. Текст достаточно сильно переработан, так как нельзя делать постоянные отсылки на внешние ресурсы. Что-то пришлось удалить, что-то расписать подробнее, что-то вынесено в раздел "терминология". Но в целом смысл будет тот-же.

Конкретно для этого кода вполне приемлемо, так как код прост и однотипен. И вообще синтетика. В целом, любой совет, не отменяет необходимость думать в процессе создания хорошего кода :)

Принимаю эстафету и предлагаю вниманию свою подборку вредных советов: 60 антипаттернов для С++ программиста.

Макросы — это плохо. Что ещё плохо? Читайте подборку 60 антипаттернов для С++ программиста!

Тема продолжается и развивается. Теперь есть "60 антипаттернов для С++ программиста". Там не только больше "советов", но и есть пояснение по каждому из них.

Возможность такой записи ничего не решает. Ибо неизвестно, сколько бит нужно выбрать, чтобы оно совпало с размерностью size_t. Т.е. непонятно, сколько бит выбрать, чтобы счётчик мог перебрать все элементы любого массива. Как раз вектор развития, всячески избегать указания конкретной размерности.

Дело было давно. К сожалению, ссылки постепенно умирают.

О нет, только не класс! Про это будет в "Вредный совет N56. Больше классов!".

Притензия непонятна. Там сказано, что погрешность может быть большой или малой. И даны отсылки. Предложите свой вариант правильного подхода. :)

Information

Rating
149-th
Works in
Date of birth
Registered
Activity

Specialization

Specialist
C++
C
Software development