【发布时间】:2011-11-19 06:40:57
【问题描述】:
显然,我们可以将复杂的类实例传递给函数,但是为什么我们不能将数组传递给函数呢?
【问题讨论】:
-
FWIW,这起源于 C 和数组(原始数组,而不是
std::vector或std::array)几乎没有改变到 C++ 中,我怀疑原因是一样的。跨度> -
@delnan,原因是一样的吗?什么是“相同”的原因?请更具体。
-
我相信你可以用 boost::array (或 tr1::array)来做到这一点。
-
...(或 std::vector)等。您的问题是关于 40 年前某人为 C 做出的设计决定。您的问题(对于 C++)的答案是“谁在乎”。这对于现代 C++ 来说不是问题,因为尽可能避免声明原始数组(和原始指针)通常是个好主意。最好使用更高级别的数组类,例如我列出的其中一个。
-
因为 (1) Dennis Ritchie 在 40 多年前在 C 语言中构建了一个指针/数组等价,并且 (2) 这将是一个非常糟糕的主意。
标签: c++ arrays function arguments