我想知道是否除了使用for循环之外,在类构造函数中是否还可以使用null终止来填充char数组。使用for循环可以正常工作。但是我认为应该有一种更简单的方法...还是我错了?

String::String()
{
  for (int i = 0; i < 80; i++)
       stringNew[i] = '\0';
}

最佳答案

如果stringNewstd::string,则可以调用constructor:

//Initializes 'stringNew' with 80 times '\0'
String::String() : stringNew(80, '\0') {}

如果它是char[],则可以调用 std::fill :
String::String()
{
    std::fill(std::begin(stringNew), std::end(stringNew), '\0');
}

您也可以像示例中那样使用循环。

07-24 20:32