通过引用传递(指向对象的指针的向量)比通过值传递更快吗?

时间:2016-07-22 23:40:07

标签: c++ vector

说我有以下传递参考:

foo(std::vector<someClass *> const &bar)

比较传递值

foo(std::vector<someClass *> bar)

我读到,当涉及到原始数据类型时,首选使用按值传递,而按引用传递,以获取类或类等大数据。那么指向对象的指针的矢量呢?

1 个答案:

答案 0 :(得分:3)

需要复制的字节数很简单。

当您传递int时,其大小与其指针大小之间没有太大差异(如果有)。因为该值通常已经在寄存器中,所以它稍快一些。

如果传递更大的结构或数组,复制内容(for-value)需要比复制其指针(对于by-ref)更长的时间。

指向对象指针的向量可能是多个字节,因此引用速度更快。