Как стать автором
Обновить

PVS-Studio — дополнительная страховка медицинского программного обеспечения

Время на прочтение 4 мин
Количество просмотров 4.7K
Всего голосов 38: ↑31 и ↓7 +24
Комментарии 5

Комментарии 5

Пользуясь случаем: всем пользователям macOS предлагаю морально подготовиться пробовать проверять свои C, C++ проекты с помощью PVS-Studio. Ориентировочно PVS-Studio for macOS появится в начале следующего месяца.
Недавно столкнулся со старой ошибкой в своем коде. Решил проверить, как PVS-Studio отработает мою ошибку. К сожалению он не нашел не только мою ошибку, но и более простую.

Простой вариант:
std::vector<int> a;
int b = a.front();

(причем вариант «int b = a[0];» детектируется).

Более сложный вариант:
std::vector<int> a = { 3 };
a.assign(10, a.front());
На здоровье.

Кроме assign/front, еще есть несколько функций приводящих к таким же проблемам.
Да и контейнер такой не только вектор.
Зарегистрируйтесь на Хабре , чтобы оставить комментарий