在函数内部,我创建了一个2d数组,它可以从文本文件中填充,并且需要返回到main。该阵列在整个程序中保持恒定大小。从C++返回2d数组
我知道这是什么,被问了很多,但我总是似乎得到两个答案之一:
使用std ::向量或std ::阵列或其他一些性病的功能。我真的不明白这些是如何工作的,是否有任何网站实际解释它们,以及它们与普通数组相比如何行动?我需要什么特别的#包含?
或
使用指向数组的指针并返回指针。首先,对于这个问题的一些答案,由于本地数组显然不起作用。我如何知道它何时有效并且无效?我如何在主函数中使用这个数组?
我对指针和std :: things的概念比实际的代码有更多的麻烦,所以如果有一个网站,你知道它解释得特别好,随便放一下。
即使你不知道的行数,你知道的列数? – jxh
“正常”阵列实际上是行为不端的人。传递和返回'std :: string'或'std :: vector'几乎与传递一个简单的'float'相同。 –
MSalters
我相信你已经看过关于指针的C++书(http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list),所以我会抛出一个链接来自R.Buckland的C讲座(注意:C和C++是不同的语言,有时它们之间的差别非常微小,但指针的概念工作原理也是一样的):http://www.youtube.com/watch?v=Rxvv9krECNw 。标准包含器的迭代器像指针一样工作,容器的行为与数组类似,但容器负责内存管理和边界检查。 – mars