一个类型应该通过引用而不是值传递多大?

时间:2015-06-11 23:41:14

标签: c++

考虑到移动语义,是否存在一种截断,它定义了通过引用而不是通过值传递更昂贵的时间?

我总是看到示例按值使用基本类型,并通过引用看一些示例class。但是,如果我有一个小的struct或一个小class,那么通过值而不是引用来传递它们会更好吗?

截止日期在哪里?

1 个答案:

答案 0 :(得分:1)

通过引用传递基本上是指针传递(在效率方面)。

指针/引用传递正在移动一个机器本机长度的数据(也就是:一个字,或32位机器上的32位等等)

因此,通过值传递小于或等于本机字的任何大小的数据将与通过指针/引用一样高效。

如果您的数据/对象大于此值,则需要多个周期才能将其中的每个单词复制到堆栈中。

当数据大小小于一个单词时,通过值传递没有获得效率。机器将执行一个副本,这个副本的长度与半个字一样长。