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

Is pass by reference (a vector of pointers to object) faster than pass by value?

本文关键字:向量 值传 指针 引用 对象      更新时间:2023-10-16

假设我有以下pass-by-reference:

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

与传递值进行比较

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

我读到,当涉及到基元数据类型时,使用按值传递会更可取,而对于类或结构等大型数据,使用按引用传递指针向量呢?

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

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

如果传递更大的结构或数组,则复制内容(按值)比复制其指针(按引用)花费更长的时间。

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