【发布时间】:2012-07-17 14:54:55
【问题描述】:
我希望能够将 const 数组参数传递给 C++ 中的方法。
我知道,当您将数组传递给方法时,它与将指针传递给数组的第一项相同,因此使用指针是一种简单的方法。
void myMethod(int * const inTab)
但有时有一个数组会更好,例如,您可以写出数组的大小。
【问题讨论】:
-
您想传递对数组的引用。有关它的讨论,请参阅 this question 及其答案。
-
为什么不使用 std::vector? parashift.com/c++-faq/arrays-are-evil.html
-
@avasopht:因为数组并不总是邪恶的,动态分配有时也是邪恶的。
-
是的,非常正确。当然,重要的是要确保 Kevin 和其他查看此问题的人了解 c++-faq 以及与使用数组相关的一些危险。如果他们在使用 std::vector 时遇到问题,至少它不太可能是缓冲区溢出;)而且他们还可以开始考虑位于中间的优雅解决方案,既不分配也不直接访问数组。
标签: c++ arrays methods arguments constants