默认情况下是通过参考或值传递的对象
is object passed by reference or value by default
将对象传递给方法或函数是对象是对象,然后通过new
关键字启动对象时通过参考或值传递。
My_object a;
my_function(a);
然后将对象作为参考或值传递给该函数?
void my_function(My_object a){
}
或我需要添加&
?
void my_function(My_object &a){
}
传递对象的方式取决于函数的参数,而不取决于对象的创建方式。
My_object a
表示它是按值传递的。
要通过参考,您需要使用My_object& a
。如果您不打算更改对象,则可能更喜欢const My_object& a
。这将避免意外覆盖。
相关文章:
- 为什么可以将左值传递给"std::async",即使它引用了右值
- "this"指针的值在对象的生存期内是否恒定?
- 防止在按值传递对象(继承)时进行切片
- 为什么 const YAML::Node 对象的行为不像 yaml-cpp 中的类似值的对象?
- 当值传递给C++中的运算符重载函数时会发生什么
- l值引用对象上的Constexpr成员函数:Clang和gcc不同意
- 在C++中,当表达式涉及对象时,将表达式赋值到对象中时,是否有定义的操作顺序?
- 按值将对象传递给 SubClass 构造函数,导致超类的构造函数不调用
- 是否允许从具有一些不确定值的对象分配
- 如何将非可变参数值传递给 fmt::format?
- 将 qml 项目值传递给 cpp 后如何与它们进行交互?
- NDK:将文本字段值传递给 c++ 字符串
- C++创建相同的随机值的对象数组
- 重载运算符 -- 无法在赋值中将对象转换为基类型
- 查找对象向量中属性具有相同值的对象
- 如何将值传递给 lambda 函数
- C++:按值将对象传递给同一类的成员函数
- 试图按值将对象传递给C++中的构造函数
- 一种自动检测对象的方法,该方法通过值传递给c++中的函数
- 将c_str临时对象的返回值传递给printf