Предположим, что следующий фрагмент кода
struct S {
S(int & value): value_(value) {}
int & value_;
};
S function() {
int value = 0;
return S(value); // implicitly returning reference to local value
}
компилятор не создает предупреждение (-Wall), эта ошибка может быть трудно поймать.
Какие инструменты существуют, чтобы помочь поймать такие проблемы.