说我有以下传递参考:
foo(std::vector<someClass *> const &bar)
比较传递值
foo(std::vector<someClass *> bar)
我读到,当涉及到原始数据类型时,首选使用按值传递,而按引用传递,以获取类或类等大数据。那么指向对象的指针的矢量呢?
答案 0 :(得分:3)
需要复制的字节数很简单。
当您传递int
时,其大小与其指针大小之间没有太大差异(如果有)。因为该值通常已经在寄存器中,所以它稍快一些。
如果传递更大的结构或数组,复制内容(for-value)需要比复制其指针(对于by-ref)更长的时间。
指向对象指针的向量可能是多个字节,因此引用速度更快。