fix bug in move constructor

This commit is contained in:
2020-07-31 00:00:26 +03:00
parent 79e17b48b8
commit 1d5c979607
6 changed files with 30 additions and 20 deletions

View File

@@ -31,23 +31,38 @@ int main() {
}
#endif
*/
class db {
public:
db() {
for (int i=0; i<1000; ++i)
x << sin(double(i)/180.0);
printf("jkfkhg\n");
}
// db(const db & d) {x = d.x;}
// db(db && o) {x.swap(o.x);}
private:
PIVector<double> x;
};
#include "picodeparser.h"
int main() {
piDebug = false;
PIString t("1234567890-=");
printf("==============\n");
double min = -1, max = -1, mean = 0;
for (int i = 0; i < 50; ++i) {
PITimeMeasurer tm;
/*PICodeParser cp;
cp.parseFile("SH_plugin_base.h");*/
PIStringList sl;
sl.reserve(500000);
for (int i = 0; i < 500000; ++i) {
// PIString s(t);
// sl << s;
sl.push_back(PIString(t));
//sl << PIString("1234567890-=");
PIVector<db> sl;
sl.reserve(10000);
db d;
for (int i = 0; i < 10000; ++i) {
// db b(d);
// db c(b);
// c = b;
// sl << c;
sl << db(d);
// sl << std::move(d);
}
double ms = tm.elapsed_m();
if (min < 0) min = ms;