Avatar ·

std::wstring vs std::string: quando usar Unicode e strings multibyte em C++?

Olá! Recentemente comecei a estudar C++ e me deparei com o problema de escolher entre std::string e std::wstring. Parece que ambos os tipos são destinados ao trabalho com texto, mas não entendo qual é a diferença e quando usar cada um. Aqui está um exemplo simples: estou escrevendo um programa que deve trabalhar com caracteres russos: ```cpp #include #include int main() { std::string str = "Привет, мир!"; std::wstring wstr = L"Привет, мир!"; std::cout << "string length: " << str.length() << std::endl; std::wcout << L"wstring length: " << wstr.length() << std::endl; // Tentando exibir caractere por índice std::cout << "Primeiro caractere string: " << str[0] << std::endl; std::wcout << L"Primeiro caractere wstring: " << wstr[0] << std::endl; } ``` A saída me confunde