Комментарии 5
Немного не по теме (не .NET), по C++:
PVS-Studio (и CppCheck) прекрасно детектят паттерны как в f1(), но не может сдетектить или хотя бы предупредить о возможном UB в f2(), я просто не силён в подобных продуктах, но такое же часто встречается…
void f1()
{
Object * object_ptr{ nullptr };
{
Object object{};
object_ptr = &object;
}
use1(object_ptr); // UB
return rand();
}
void f2()
{
std::vector<std::string> v{"foo", "bar"};
auto & v_ref = v[0];
v.emplace_back("baz");
use2(v_ref); // UB
}
PVS-Studio (и CppCheck) прекрасно детектят паттерны как в f1(), но не может сдетектить или хотя бы предупредить о возможном UB в f2(), я просто не силён в подобных продуктах, но такое же часто встречается…
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Проверяем IronPython и IronRuby с помощью PVS-Studio