Como encontrar operações de cópia espúrias em C ++?

Recentemente, tive o seguinte struct data { std::vector<int> V; }; data get_vector(int n) { std::vector<int> V(n,0); return {V}; } O problema com este código é que, quando a estrutura é criada, ocorre uma cópia e a solução é escrever return {std :: move (V)} Existe um analisador...