Я довольно новый для C++ и хочу просто проверить, насколько быстро C++ может сделать следующую работу:Улучшения моего кода
Просто создать вектор с 100 Objectc объекта-точка (х, у-координата) и переместите его на другой вектор. Повторите это k-раз. (в этом коде это 1000000 раз - int Iterator).
Ну, так как им очень новый для C++, вы видите лучший способ сделать это, или я что-то пропустил?
Im работает на Windows.
#include "Main.h"
#include "Point.h"
#include <iostream>
#include <vector>
#include <chrono>
int main() {
auto start = std::chrono::high_resolution_clock::now();
int Constant = 10;
int Iterator = 1000000;
std::vector<Point>* tour = new std::vector<Point>();
std::vector<Point>* actions = new std::vector<Point>();
for (int k=0; k<Iterator; k++) {
for (int i=0; i<Constant; i++) {
for (int j=0; j<Constant; j++) {
Point *p = new Point((i * 10) + j,i + 1, j + 1);
actions->push_back(*p);
}
}
while(!actions->empty()) {
tour->push_back(actions->at(0));
actions->erase(actions->begin());
}
actions->clear();
tour->clear();
}
auto finish = std::chrono::high_resolution_clock::now();
std::cout << std::chrono::duration_cast<std::chrono::nanoseconds>(finish-start).count() << std::endl;
}
ли программа работает? Делает ли это то, что вы хотите? Тогда вам нужно всего лишь [обзор кода] (http://codereview.stackexchange.com/tour). –
Если вы хотите улучшить рабочий код, лучше поставите этот вопрос в [SE Code Review] (http://codereview.stackexchange.com/). –
Дополнительная информация о работе: создать вектор из 100 объектов с x, y-координатами + id и перенести их на другой вектор, добавив объекты в инкрементный индексный порядок и удалив объекты в векторе начала – kxell2001