我知道在一般情况下传递值,引用或指针之间的差异.但是,我的问题是关于结构简单的容器的特殊情况.
假设这种情况:
class image{ image()=default; image(image const&)=default; ~image()=default; int w; int h; uchar* data; }
传递此类的对象时,复制的只是两个整数而指针不是整个数据.在这种情况下是否有目的通过引用传递它?或者有没有通过引用传递它的目的?
引发这个问题的是我已经读过C中的迭代器被设计为轻量级并且通过值传递.所以,我认为这个概念可以应用于代表容器的类到实际数据而不是数据.
解决方法
Imho,关于如何传递参数的最佳指南可以在Herb Sutters的优秀演讲
Back to the Basics! Essentials of Modern C++ Style中找到.在您的特定情况下,通过值传递将是最佳选择,因为您的结构复制起来很便宜.
原文地址:https://www.jb51.cc/c/111861.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。