在C中通过const引用

时间:2013-10-09 15:59:01

标签: c++ c pass-by-reference pass-by-const-reference

C支持是否像C ++一样通过const引用?如果没有,还有其他方法可以使传值更有效吗?我认为仅仅因为它更有效而传递对函数的引用是没有意义的。

1 个答案:

答案 0 :(得分:8)

C不支持引用或通过引用传递。你应该使用指针代替并通过地址传递。传值对于基本类型是有效的,但对结构进行浅层复制。

在C ++中,为了提高效率,通过引用传递对象会很有意义。在定义复制构造函数时,它可以节省大量复制和调用构造函数/析构函数。对于大型数据对象(例如std::list),传递值是不切实际的,因为传递时会复制列表。在这里你绝对应该通过引用传递。