从字符初始化std :: string

Jam*_*ook 3 c++ string initialization char

似乎没有标准的构造函数,所以我已经采取了以下措施

void myMethod(char delimiter = ',')
{
    string delimiterString = 'x';
    delimiterString[0] = delimiter;
    // use string version ...
}
Run Code Online (Sandbox Code Playgroud)

有一个更好的方法吗?

Mer*_*son 18

std::string 有一个构造函数,将为您执行:

std::string delimiterString(1, delimiter);
Run Code Online (Sandbox Code Playgroud)

1是a size_t并且表示char参数的重复次数.

  • 但是可以使用迭代器构造函数 - std :: string s(&delimiter,&delimiter + 1) (3认同)