ベン記録の異常な特性場合トラバースQMap

// クラッシュ文言
    について(オートVAR = valueRow.mapValue()(開始);. ヴァール!= ValueRow.mapValue()終了();. ヴァール ++ 
    { 
        IF!(ヴァール。.Valueの()はisValid( )|| VAR .Valueの()のisNull())。
             続けてこの - >のaddItem(VARの .KEY()、VAR .Valueの()); 
    } 


// 文言を崩壊ません 
    QMap < int型を、QVariant> valueRow_ =   valueRow .mapValue();
     のための(自動VAR = valueRow_.cbegin(); VAR!= ValueRow_.cend(); VAR ++ 
    { 
        IF(!ヴァー .Valueの()はisValid()||。ヴァー.Valueの()のisNull())。
             続けてこの - >のaddItem(VARの .KEY()、VAR .Valueの()); 
    } 


// 事故シーンの
構造体 QMapNode:公共QMapNodeBase 
{ 
... 
...    

    インラインQMapNode * NEXTNODE(){ 戻り reinterpret_castは<QMapNode *> (QMapNodeBase :: NEXTNODE());} 

... 
... 



なぜクラッシュし、本質的に違いはありません ??? 
::鄭タオ、分析の頭は:
VAR!= valueRow.mapValue()。エンド()するたびに新しいコピー。しかし、VaRのVAR = valueRow.mapValue()である。()コピーはここに始まります。すべてのコピーベンなく、同じ結果。

 

おすすめ

転載: www.cnblogs.com/azbane/p/12103154.html