在以长度为参数的函数中创建新的 char[]

Create new char[] at function with length as parameter

如何在函数或构造函数中创建新的 char[]?当我需要时,数组大小将与我通过参数获得的一样?

代码:

MyString::MyString (int length=10)
{
    char myCharArray[length];
}

我得到的错误:

我已经尝试过以下方法:

  1. 在函数中给一个初始值。
  2. const 添加到 int 值。

注意:在这个任务中我不能使用 std::string,尽管我希望如此。

如果您在构造函数之外使用 myCharArray,请将其定义为 class 字段。这段代码可以满足您的需求。与 Java 不同,C++ 中没有垃圾收集器。使用后需要释放内存

MyString::MyString (int length=10)
{
   char *myCharArray;
   myCharArray=new char[length];
   .....
   delete[] myCharArray;
}

更新:

正如 Ulrich Eckhardt 所建议的那样:

MyString::MyString (int length=10)
{
   char *myCharArray=new char[length];
   .....
   delete[] myCharArray;
}