[英]C++ Optimal way of returning multidimensional array from function, pointers?
我需要从一个函数返回一个类对象数组。 我从研究中了解到,执行此操作的最佳方法是使用指针,但这是我的程序设计的最佳方法,并且需要从多个CPP文件访问此方法吗?
main.cpp
#include <class.h>
#include <functions.h>
int main(){
Class Object[2][]; //define second dimension here?
some_function(); //should return / create the array with filled in elements.
int var = arr[2][3]; // want to be able to do something like this in main
}
functions.cpp
void some_function(){
// assign values
arr[2][3] = 1;
}
您应该为多维数组真正使用std::vector<std::vector<Object> >
。 使用原始数组容易出错,并且由于无论如何都在使用C ++,为什么不使用与std::vector
一样有用的东西,它会在需要时自动调整大小。
您甚至可以像这样从函数返回vector
:
std::vector<std::vector<Object> > my_function() { /* do something */ return some_vector; }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.