取地址符&做函数形参?

今天用zlib例程里看到下面这句

int buffer_def(void *input, size_t in_data_size, std::vector<uint8_t> &out_data) {
  ....
}

想着很奇怪,参数里带取地址符是什么意思,然后搜了一下,发现一篇讲得特别仔细的好文:
C语言中取地址符&做函数形参?—— 引用的讨论

这个其实是地址传递方式 不用占用内存,函数里直接可以操作外部的变量,不用再把变量或者指针单独复制进来,节约资源。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容