我正在阅读Scott C++,现在是关于passing-reference-to-const的一节。他说,对于用户定义的类型,通过对const的引用传递它几乎总是好的,这与内置类型不同。
我的问题是,为什么内置类型应该通过值传递。为什么它更有效率?我想,他们可以被登记,但这是唯一的原因吗?
发布于 2015-10-15 03:58:07
当您传递一个引用时,它在幕后传递一个指针。这比通过整个结构更有效,因为整个结构可能非常大。
基本类型的大小与指针差不多(最坏的情况是,它们的大小可能是指针的两倍)。有些甚至更小--一个char是1字节,而指针通常是4或8个字节。因此,通过引用传递没有效率,而不是传递值本身。
https://stackoverflow.com/questions/33139576
复制相似问题