这里有一个简单的问题,我在这里找不到答案。
据我所理解,在函数调用时传递参数,例如:
void myFunction(type myVariable)
{
}
void main()
{
myFunction(myVariable);
}
对于像int
,float
等简单数据类型,函数是通过值调用的。
但是如果myVariable
是一个数组,则仅传递起始地址(尽管我们的函数是按值调用的函数)。
如果myVariable
是一个对象,则仅传递对象的地址,而不是创建一个副本并传递它。
那么回到问题。C ++是通过引用或值传递对象吗?
std::vector<int> myVariable
参数,在myFunction
中添加并在那里打印它,然后在main
中打印它来看到这一点。修改将不会反映在main
的输出中。但是 C++ 可以超越这些传统;这是它的疯狂和魅力的一部分。阅读相关内容,不要绝望! - HostileFork says dont trust SE