Re: [問題] map::insert()呼叫constructor的次數
※ 引述《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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章