加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 按值或按引用传递容器

发布时间:2020-12-16 03:19:27 所属栏目:百科 来源:网络整理
导读:我知道在一般情况下传递值,引用或指针之间的差异.但是,我的问题是关于结构简单的容器的特殊情况. 假设这种情况: class image{ image()=default; image(image const)=default; ~image()=default; int w; int h; uchar* data;} 传递此类的对象时,复制的只是两
我知道在一般情况下传递值,引用或指针之间的差异.但是,我的问题是关于结构简单的容器的特殊情况.

假设这种情况:

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中找到.在您的特定情况下,通过值传递将是最佳选择,因为您的结构复制起来很便宜.

.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读