Std :: string container

Is std :: string a container class in the C ++ standard library, limited only to char elements?

+3
source share
4 answers

This is actually a typedef std::basic_string<char>. std::basic_string- a container class specifically designed for string operations. This container can be used for wide characters ( wchar_t); for this case its typedef will be wstring.

+13
source

A std::basic_string<> - , . , std::basic_string POD, char ( std::string) wchar_t (std::wstring).

, basic_string . , , POD. , basic_string , , , .

, , , basic_string. , basic_string, std::basic_string ( ) .

+5

std::string typedef basic_string<char, std::char_traits<char>, std::allocator<char> > char.

, basic_string (, , ).

#include <string>
#include <cassert>

int main()
{
    std::basic_string<int> numbers_1, numbers_2;
    numbers_1 += 1;
    numbers_2 += 2;
    std::basic_string<int> numbers_3 = numbers_1 + numbers_2 + 3;
    unsigned pos = numbers_3.find(10);
    assert(pos == std::basic_string<int>::npos);
}
+4

Source: https://habr.com/ru/post/1723779/


All Articles