C支持是否像C ++一样通过const引用?如果没有,还有其他方法可以使传值更有效吗?我认为仅仅因为它更有效而传递对函数的引用是没有意义的。
答案 0 :(得分:8)
C不支持引用或通过引用传递。你应该使用指针代替并通过地址传递。传值对于基本类型是有效的,但对结构进行浅层复制。
在C ++中,为了提高效率,通过引用传递对象会很有意义。在定义复制构造函数时,它可以节省大量复制和调用构造函数/析构函数。对于大型数据对象(例如std::list
),传递值是不切实际的,因为传递时会复制列表。在这里你绝对应该通过引用传递。