Я попробовал следующую программу:
#include <iostream>
#include <string>
int main ()
{
std::string str;
str[0] = 'o';
str[1] = 'k';
std::cout << str.length();
std::cout << "as a whole :";
std::cout << str << std::endl;
std::cout << "character by character :";
std::cout << str[0] << str[1] << std::endl;
return 0;
}
Я не понимаю, почему я не могу напечатать строку целиком, используя переменную объекта, и почему длина возвращается как 0
, поскольку ясно, что у меня естьдобавил символы, используя оператор нижнего индекса, так как это возвращает ссылку на символ, так что я знаю, что это допустимо.
Кроме того, я не получил никакого исключения. Так что это так. Очевидно, что в классе std::string
много чего происходит, и я знаю, что что-то упустил. Может ли кто-нибудь помочь мне с этим?