gpt4 book ai didi

c++ - 按值或引用传递容器

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:15:55 29 4
gpt4 key购买 nike

我知道一般情况下按值传递、引用传递或指针传递之间的区别。但是,我的问题是关于结构简单的容器的特殊情况。

假设这种情况:

class image{
image()=default;
image(image const&)=default;
~image()=default;

int w;
int h;
uchar* data;
}

传递此类的对象时,复制的只是两个整数和指针,而不是整个数据。在这种情况下是否有通过引用传递它的目的?或者是否有不通过引用传递它的目的?

引发这个问题的是我读到 C++ 中的 iterators 被设计为轻量级并且按值传递。所以,我认为这个概念可能适用于表示容器的类,而不是数据。

最佳答案

恕我直言,关于如何传递参数的最佳指南可以在 Herb Sutters 的精彩演讲中找到 Back to the Basics! Essentials of Modern C++ Style .在您的特定情况下,按值传递将是最佳选择,因为您的结构复制起来很便宜。

cpp parameter passing overview .

关于c++ - 按值或引用传递容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35032340/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com