Pull to refresh

Comments 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, еще есть несколько функций приводящих к таким же проблемам.
Да и контейнер такой не только вектор.
Sign up to leave a comment.