这主要用于动态数组。
到目前为止,我已经知道有三种方法将数组作为参数传递:
- 作为一个值参数:这导致整个数组被复制,被许多书籍认为效率低下(this除外,这会造成我的混淆)。
- 作为VAR参数:这只会导致第一个元素的地址被复制,并被许多书籍认为是最佳的,缺点是当您不需要时可能会意外更改阵列内容如此。
- 作为指针:这是我经常看不到的东西。这和第二种方法有什么区别?至于另一个(可能)相关的东西,wiki表示动态数组本身就是一个带有自动解除引用的指针,所以当把它传递给一个函数时,它不应该作为指针传递吗?
那么一般应该使用哪种方法?