【发布时间】:2011-05-27 16:28:08
【问题描述】:
我想创建一个函数,它以整数作为参数,并在 C++ 中返回一个数组。这是我想到的伪代码:
function returnarray(integer i)
{
integer intarr[i];
for (integer j = 0; j < i; j++) { intarr[j] = j; }
return intarr;
}
我尝试了将 returnarray 声明为 function* 返回指针的常用方法,但是我不能将整数作为参数。我也不能将 j 分配给 intarr[j]。我真的很想避免创建一个指向 int 的指针,这样我就可以使用参数了。
有没有办法做到这一点,并且能够将 j 分配给 intarr[j] 而无需为其创建指针?
编辑:
忘了写我想避免使用向量。我只有在真的需要时才使用它们! (我的理由是我的)。
谢谢:D
【问题讨论】:
-
您需要说明您希望避免使用向量的原因。向量提供了一个明显的解决方案;回答者需要知道您对潜在解决方案施加了哪些限制。
-
@MisterSir:如果你想提高你对 C++ 的理解,你需要解决一个你还不理解的问题——例如,implementing向量。用奇怪的解决方案解决简单的问题不会以任何有意义的方式提高您对语言的理解。
-
怎么样:“我不想使用向量的原因是我正在实施向量替换作为学习练习”。那会更清楚。不过,我仍然不明白您要做什么,因为 vector 接口的任何部分都不需要您必须返回一个数组。
-
@MisterSir:“只是一个简单的出路”?!开车或乘坐公共交通工具“只是一种简单的出路”,我希望你能走遍你的国家,这样你就可以“真正学到一些东西”,而不是把事情做好。
-
@MisterSir:因为手动进行资源管理不是惯用的 C++。从
malloc切换到new不会让你成为C++ 程序员,你的代码基本上还是C。