Re: [問題] map::insert()呼叫constructor的次數

看板C_and_CPP (C/C++)作者 (CA)時間16年前 (2009/03/04 21:42), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《darkhcv (我只想耍廢)》之銘言: : MyMap.insert( make_pair(0, *pMy1) ); 我後來用gdb trace了一下 這似乎是STL的問題 我的編譯器實作更糟糕, 會呼叫4次 copy ctor: (以下省去語法細節) template< typename T, typename U > make_pair( T f, U s ) { return pair< T, U >( f, s ) } // pass by value pair::pair( const T & f, const U & s ) : first( f ), second( s ) {} // construct a copy 其他兩次似乎是在存入map時發生的 最佳化也無法消化複本的開銷 -- 自High筆記(半荒廢) http://legnaleurc.blogspot.com/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.146.194.91

03/06 14:06, , 1F
瞭解了,謝謝~
03/06 14:06, 1F
文章代碼(AID): #19heKkc5 (C_and_CPP)
文章代碼(AID): #19heKkc5 (C_and_CPP)