在c ++中返回两个创建的数组

5 c++ arrays pointers function

嗨,我有一个包含两个数组和一个值(所有整数)的文本文件

3 90 22 5 60 33 24
Run Code Online (Sandbox Code Playgroud)

第一个数字表示要读入多少个整数.我可以在一个函数中读取所有这些.我需要几个函数才能使用不同的矩阵和第一个变量吗?

    ifstream in(SOMEFILE.dat);
    if (!in) {
    cerr << "Cannot open file.\n";
    return -1;}
    in >> VAR;
    A=new int[VAR]; 
    B=new int[VAR];
    for(int i=0 ;i<VAR;i++){
      in >>A[i];
    }
 for(int i=0 ;i<VAR;i++){
      in >>B[i];
    }

       in.close();
Run Code Online (Sandbox Code Playgroud)

上面是我到目前为止的代码,这将在main函数中工作.我是否必须编写三个函数来读取此信息,以便我可以在我的程序中使用它,或者我可以用任何方式发送三个函数指针?

I would like A to be 90 22 5
B to be 60 33 24
And VAR to be 3
Run Code Online (Sandbox Code Playgroud)

谢谢

小智 2

每当您想要将数据项分组在一起时,请使用类或结构。例如,要传递三个整数作为 x、y 和 z 坐标:

struct Coord {
   int x, y, z;
};
Run Code Online (Sandbox Code Playgroud)

然后将结构体传递给函数:

void f( Coord & c ) {
}
Run Code Online (Sandbox Code Playgroud)

数组也是如此,但在您的情况下,您将使结构包含指针。

你的问题实际上打开了你似乎不知道的 C++ 编程的巨大领域。在继续之前,您应该阅读一些内容:

  • 结构的概念,如上所述
  • 结构的构造函数和析构函数
  • 何时以及何时不使用动态内存分配
  • 使用 C++ 标准库容器,例如 std::vector

这看起来可能很多,但是一旦你清楚地掌握了这些,你就会发现 C++ 编程变得更加容易和安全。