【发布时间】:2012-08-16 21:54:53
【问题描述】:
假设我有这些功能
std::Vector<Point> calculate() {
std::Vector<Point> points; //do stuff with points
return points;
}
和
void calculate(std::Vector<Point>& points) {
//do stuff with points
}
所以我的问题是特定于在堆栈上初始化的对象,并且是 stl 对象。性能上有什么区别,流行的做法是什么
问候
【问题讨论】:
-
取决于编译器优化和其他一些事情。
-
你就不能试试这个基准,自己做一些推论吗?
-
@undu 当然可以,我想知道其他人更喜欢什么,并且仅仅因为一种方法在我的编译器和环境中产生了良好的结果并不能确定某种方法更好
-
@MoatazElmasry 不,请不要进行基准测试,至少在使用您(和其他回答者)的简单推理之前不要进行基准测试。
标签: c++ performance stl c++11