C++のstringにはpush_back()はあるのにpop_back()がないので、大抵「s.resize(s.size()-1)」で代用していたのですが、これって効率いいのか疑問に思ってちょっと実験してみました。 式 msvc-8.0 gcc-mingw-3.4.2 cw-8.3 borland-5.8.2 s.resize(s.size()-1) 0.68 0.81 0.42 0.94 s.erase(s.size()-1) 0.65 0.64 0.53 0.95 s.erase(next(s.rbegin()).base()) 1.15 0.80 0.48 2.41 s.erase(prior(s.end())) 1.12 0.64 0.52 1.99 1000000個の文字列を10回ずつテストで、単位は秒です。 コンパイラとライブラリによって多少違いがありますが、平均的には「s