diff --git a/lib/main/core/pistringlist.h b/lib/main/core/pistringlist.h index 6e81f034..141b1478 100644 --- a/lib/main/core/pistringlist.h +++ b/lib/main/core/pistringlist.h @@ -83,7 +83,7 @@ public: PIStringList & operator =(const PIStringList & o) {PIDeque::operator=(o); return *this;} PIStringList & operator <<(const PIString & str) {append(str); return *this;} - PIStringList & operator <<(PIString && str) {append(str); return *this;} + PIStringList & operator <<(PIString && str) {append(std::move(str)); return *this;} PIStringList & operator <<(const PIStringList & sl) {append(sl); return *this;} }; diff --git a/main.cpp b/main.cpp index 7832f59b..8e7a86b4 100644 --- a/main.cpp +++ b/main.cpp @@ -41,11 +41,12 @@ int main() { /*PICodeParser cp; cp.parseFile("SH_plugin_base.h");*/ PIStringList sl; - sl.reserve(50000); - for (int i = 0; i < 50000; ++i) { -// PIString s("1234567890-="); - sl.push_back(PIString("1234567890-=")); - //sl << PIString("1234567890-="); + sl.reserve(500000); + for (int i = 0; i < 500000; ++i) { + //PIString s("1234567890-="); + //sl << s; + //sl.push_back(PIString("1234567890-=")); + sl << PIString("1234567890-="); } double ms = tm.elapsed_m(); if (min < 0) min = ms;