gpt4 book ai didi

c++ - 创建不带指针的可变大小数组

转载 作者:行者123 更新时间:2023-11-28 05:03:42 26 4
gpt4 key购买 nike

我试图从一个文本文件中读取并使用循环将文本文件中的两行放入一个字符串数组中。但是我想在不使用指针的情况下使数组(在我的代码中:string abc[5])成为一个可变大小的数组。我对 c++ 很陌生,有人可以帮我解决这个问题。提前致谢。

// reading a text file
#include <iostream>
#include <fstream>
#include <string>
#include<sstream>
#include<vector>
using namespace std;

int main() {
string line;
string iss_two;
int i = 0;

ifstream myfile("example.txt");
if (myfile.is_open())
{

string token;
stringstream iss;
int x = 0;
string abc[5];




while (getline(myfile, line)) // first read entire line into a
//string
{

abc[i] = line;
cout << abc[i] << "\n";
i++;
// cout << token;
}

//iss.clear();


cout << "\n" << abc[0];
cout << "\n" << abc[1];

myfile.close();

}

else cout << "Unable to open file";
system("pause");
return 0;
}

最佳答案

数组(在 C++ 语言中使用这个词)不能有可变大小。它的大小在其生命周期内永远不会改变。数组变量的大小必须在编译时已知,但动态分配的数组的大小可以在运行时确定。

动态分配需要使用指针变量。您当然可以通过在类中包含功能来隐藏指针的使用。这种抽象数组动态分配的类已经存在于C++标准库中:std::vector。我建议您使用它。

关于c++ - 创建不带指针的可变大小数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45328898/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com