要素の参照ベクトルが削除された後、何が起こるか引用?

  その上に直接変数の別名として見られるより引用の定義、。あなたは要素のベクトルへの参照を設定した場合、一日の読み取りには、コードを読み取る、突然、要素は何が起こるかのベクトルから削除されます、と思いましたか?私は、その要素が削除されると考えられ、それについて思ったが、参照はまだセキュリティ上の問題があるかもしれないことを意味し、元のメモリを指すようになります。ちょうど十分ではないと思いますので、小さなスピードテストを書きました:

#include <iostreamの> 
する#include <ベクトル> クラスのテスト{
 公共
    試験(){ 
        A = 1 
    }テスト(){ 
        A = 5 
    } int型
}。INT メイン()
{ 
    のstd ::ベクトル <試験> VEC。
    vec.push_back(テスト())。
    試験&T = vec.back()。
    std :: coutの << TA << はstd ::てendl; 
    vec.pop_back(); 
    std :: coutの << TA << はstd ::てendl; リターン


    
    
    
    


    
    
    
    
     0 ; 
}

  次のように出力されます。

1 
5

  、明らかに、基準点要素が破壊されています。私はまた、場所毎日が間違って行くことができた、ああ、この1の前に気づいたことはありません。

おすすめ

転載: www.cnblogs.com/RookieSuperman/p/11257533.html