知道类 CCPoint 只有两个 float 成员变量,使用第一个示例比使用第二个示例有什么性能优势吗?
std::vector<p2t::Point*> polyline; for (int i = 0; i < points.size(); ++i) { CCPoint p = points.at(i); polyline.push_back(new p2t::Point(p.x, p.y)); }
换句话说,在这种情况下,使用本地实例是否是一种好的做法?
std::vector<p2t::Point*> polyline; for (int i = 0; i < points.size(); ++i) polyline.push_back(new p2t::Point(points.at(i).x, points.at(i).y));
谢谢!
最佳答案
在您确定这部分代码确实会减慢您的应用程序之前,切勿进行优化。带有局部变量的示例更易于理解,因此请始终在第一个实现中使用它。无论如何,编译器可能会在 Release 模式下为两者生成相同的代码。
关于c++ - 多 vector 访问与本地对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21533064/