【发布时间】:2017-02-24 04:54:09
【问题描述】:
我知道当你传递一个数组作为参数时,你基本上是在索引0处传递数组的地址。然后,硬件知道int通常是4个字节,所以它可以很容易地访问其他元素。 我的问题是关于矢量的。 如果我有一个功能
void bla(std::vector<int> &arr)
{
}
那么它应该传递一个对向量的引用,但它会像数组一样发生吗? 向量是使用数组实现的,所以我的假设是当我传递一个引用时,它只是传递第一个元素的地址。对不对?
另外,如果我只是作为向量传递,会发生什么?它会在堆栈上创建一个副本吗? 谢谢
【问题讨论】:
标签: c++ vector parameter-passing pass-by-reference