Я заметил, что
std::string str;
str += 'b'; // works
str.append('b'); // does not work
str.append(1, 'b'); // works, but not as nice as the previous
Есть ли причина, почему метод append не поддерживает один символ, который нужно добавить? Я предположил, что operator+= на самом деле является оберткой для метода append, но это, похоже, не так.