在C ++中动态分配一个字符串数组

时间:2019-11-17 22:40:32

标签: c++ dynamic

我已经在CPP中分配了一个具有初始大小的字符串数组,我需要根据计数器动态调整其大小。

这是初始化语句:string buffer [10]; 我需要根据计数器调整大小。 cpp中有一个realloc函数吗?

1 个答案:

答案 0 :(得分:1)

您应该使用诸如std::vectorstd::list之类的链表,这是一个示例:

#include <iostream>
#include <stdlib.h>
#include <string>
#include <list>

using namespace std;

int main()
{
  list<string> buffer;
  int count = 0;

  while (true)
  {
    string s;

    cin >> s;

    if (s._Equal("exit"))
      break;

    buffer.push_back(s);
    count++;
  }

  cout << endl << endl << "We have a total of " << count << " string(s):";

  for (auto i = buffer.begin(); i != buffer.end(); i++)
    cout << endl << "- " << (*i).c_str();

  cout << endl << endl;
  system("pause");

  return 0;
}

链接:std::vector
std :: vector是封装动态大小数组的序列容器。