如何为新字符串指定大小?C++

Reb*_*_87 -3 c++ arrays string pointers

我正在尝试创建一个指向字符串的指针数组.我希望每个字符串只有3个字符.这是我到目前为止的代码:

 string **ptr=new string *[100];    // An array of 100 pointers to strings

for (i=0;i<100; i++)            // Assigning each pointer with a new string
{
    ptr[i]=new string;
    (*ptr[i])[3];
}
Run Code Online (Sandbox Code Playgroud)

我遇到线路问题(*ptr [i])[3]).如果我要创建一个只有3个字符而不是通过指针的srting,我会写:

string str[3];
Run Code Online (Sandbox Code Playgroud)

如何使用指针分配3个字符?谢谢!

Zac*_*and 8

std::vector<std::string> vec(100, "   ");
Run Code Online (Sandbox Code Playgroud)

这正是您正在寻找的,而无需自己管理内存.

string str[3];
Run Code Online (Sandbox Code Playgroud)

这不会创建一个包含3个字符的字符串,而是一个包含3个字符串的数组.

  • @Dave同意,它没有*完全*他正在尝试做什么...它做得更好**;) (3认同)