|
Программирование >> Операторы преобразования типа
О Если аргумент len отсутствует, используются все оставшиеся символы строки. О Если аргументы idx и len отсутствуют, возврашается копия строки. О Если выполняется условие idx>s\zeQ, все три формы генерируют исключение out of range. string operator+ (const string stri. const string str2) string operator+ (const string stri. const char* cstr) string operator+ (const char* cstr. const string, str) string operator+ (const string str. char c) string operator+ (char c. const string str) О Все формы выполняют конкатенацию двух операндов и возвращают полученную строку. о Операнды состоят из произвольной комбинации строк, С-строк или одиночных символов. О Если размер полученной строки превышает максимально допустимое количество символов, все формы генерируют исключение length error. Функции ввода-вывода ostreamj operator (ostreamb. strm. const string str) О Записывает символы str в поток strm. О Если выполняется условие strm.w\6thQ>0, в поток данных выводятся не менее widthO символов, а ширина поля в потоке данных обнуляется. О Параметр ostream - выходной поток типа basic ostream<c/zflr>, где char - тип символов (см. с. 562). istream operator (istream strm, string str) О Читает символы следующего слова из потока данных strm в строку str. О Если для strm- установлен флаг skipws, начальные пропуски игнорируются. О Чтение производится до выполнения одного из следующих условий: □ strm.w)6th{) больше О, и из потока данных прочитаны width() символов; □ strm.goo(l{) возвращает false (что может привести к выдаче соответствующего исключения); □ isspace(t;,5trm.getloc()) возвращает true для следующего символа с; □ 5tr.max size() символов сохраняется. О Параметр istream - входной поток данных типа basic lstream<c/iflr>, где char - тип символов (см. с. 562). istreame getline (istream strm. string, str) istream getline (istream strm. string str. char delim) О Читает символы следующей логической строки из потока strm. в строку str. О Читаются все символы (включая начальные пропуски) до выполнения одного из следующих условий: □ strrn.goo60 возвращает false (что может привести к выдаче соответствующего исключения); □ из потока данных читается delim или 5/7w.widen(\n); □ 5tr.max size() символов сохраняется. О Разделитель строк извлекается из потока данных, но не присоединяется к str. О Внутренняя память перераспределяется по мере необходимости. О Параметр istream - входной поток данных типа basicJstream<c/?Gr>, где char - тип символов (см. с. 562). 1олучение итераторов Iterator string::beg1n () const 1 terator string: -.begiu () const О Обе формы возвращают итератор произвольного доступа, установленный в начало строки (в позицию первого символа). О Для пустой Строки вызов begin() эквивалентен вызову end(). iterator string:;end О const 1terator string:: end О const О Обе формы возвращают итератор произвольного доступа, установленный в конец строки (в позицию за последним символом). О Символ в позиции end() не определен, поэтому конструкции вида *s.end() приводят к непредсказуемым последствиям. О Для пустой строки вызов end() эквивалентен вызову begin(). reverse iterator string::rbegin () const reverse iterator string::rbegin О const О Обе формы возвращают итератор произвольного доступа, установленный в позицию начала перебора строки в обратном направлении (то есть в позицию последнего символа). О Для пустой строки вызов rbeginO эквивалентен вызову rend(). О Обратные итераторы описаны на с. 270 reverse 1terator string::rend О const reverse 1terator string: :гег\6 О const О Обе формы возвращают итератор произвольного доступа, установленный в позицию конца перебора строки в обратном направлении (в позицию перед первым символом). О Символ в позиции rendO не определен, поэтому конструкции вида *s.rendO приводят к непредсказуемым последствиям. О Для пустой строки вызов rend() эквивалентен вызову rbegin(). О Обратные итераторы описаны на с. 270 Поддержка распределителей памяти Для строк также определены стандартные члены классов, обеспечивающие поддержку распределителей памяти. string::allocator type О Тип распределителя памяти. О Третий параметр шаблона basic string<>. О Для типа string - эквивалент allocator<char>. allocator type str/:?: :get anocator О const Возвращает модель распределения памяти, используемую строкой. Распределитель памяти может также передаваться в необязательном аргументе всех конструкторов строк. Ниже перечислены строковые конструкторы с необязательными аргументами в соответствии со стандартом: namespace std { tempiate<class charT, class traits = char traits<charT>. class Allocator = allocator<charT> > class basic string { public: Конструкгор no умолчанию explicit basic string(const Allocators a = Allocator()): Копирующий конструктор basic str1ng(const basic string& str, size type str idx = 0. size type str num = npos): basic string(const basic string& str. size type str idx. si2e type str num. const Allocators): Конструктор для С-строк basicstringCconst charT* cstr. const Allocators a = AllocatorO): Конструктор для синвопьных массивов basic stringCconst charT* chars. size type chars len, const Allocators a = AllocatorO): Конструктор для num экземпляров символа basic string(size type num. charT c. const Allocators a = AllocatorO):
|
© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |