2

有没有办法在单个命令中执行以下操作(以避免测试)

if (mystring.find_first_not_of("X") != std::string::npos) {
    mystring.erase(0, mystring.find_first_not_of("X"));
}
4

1 回答 1

1
mystring.erase(0, std::max(0, (std::make_signed<std::string::size_type>::type)
                           mystring.find_first_not_of('X')));

或者没有 C++11:

mystring.erase(0, std::max(0, (int)mystring.find_first_not_of('X')));
于 2013-03-19T20:10:33.593 回答