gpt4 book ai didi

c++ - C++传递参数时 "small object"的定义

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:21:37 25 4
gpt4 key购买 nike

<分区>

在新的“C++ 编程语言”一书中(可能还有以前的版本),Bjarne Stroustrup 推荐:

  1. Use pass-by-value for small objects
  2. Use pass-by-const-reference to pass large values that you don't need to modify.
  3. ...

当涉及到参数传递时,对于小对象是否有一个普遍接受的定义?例如,很明显,任何小于地址大小的对象都是小对象,但是地址大小的 2、3、4 倍的对象呢?它们是否被认为很小并且应该按值传递?

作为要处理的示例代码:

struct Vector {float x, y, z;};

我应该选择:

void do_something_with_vector(Vector v){...}

或:

void do_something_with_vector(const Vector& v){...}

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