Содержание
- 2. Работа с символами. cout Строка - это последовательность символов, заключенная в двойные кавычки. Два символа: обратной
- 3. Для большей наглядности программы длинные строки можно разбивать пробелами, например: char alpha[ ] = "abcdefghijklmnopqrstuvwxyz" "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
- 4. Строки в STL Класс string из стандартной библиотеки представляет собой специализацию общего шаблонного класса basic_string для
- 5. Характеристические классы Характеристический шаблонный класс определяет протокол описания типа, а специализации этого класса описывают конкретный тип.
- 6. template class basic_string : public _String_alloc ::value, _String_base_types > // null-terminated transparent array of elements template
- 7. Конструкторы explicit basic_string (1) (const allocator_type& alloc = allocator_type()); Конструирует пустую строку. copy (2) Создает копию
- 8. Конструкторы fill (6) Заполняет строку n последовательными копиями символа c basic_string (size_type n, charT c, const
- 9. Примеры #include #include int main () { std::string s0 ("Initial string"); // конструкторы используются в том
- 10. Операции со строками s1 = s2 Присвоение строки s2 строке s1; строка s2 может быть объектом
- 11. s.size () Количество символов в строке s s.length () Количество символов в строке s s.c_str ()
- 12. Операции insert и append перемещают символы, чтобы освободить место для новых. Операция erase (pos) сдвигает символы
- 13. Примеры: append #include #include using namespace std; int main () { string str; string str2="Writing ";
- 14. Примеры: insert void ins(){ string str="to be question"; string str2="the "; string str3="or not to be";
- 15. Преобразования stoi - Преобразовать строку в целое число stol - Конвертировать строку в long int stoul
- 16. Итераторы basic_string begin - Возвратить итератор к началу end - Возвратить итератор к концу rbegin -
- 17. Пример: Итераторы basic_string // string::begin/end #include #include int main () { std::string str ("Test string"); for
- 18. Пример: Итераторы basic_string // string::rbegin/rend #include #include int main () { std::string str ("now step live...");
- 19. basic_string::operator= string (1) basic_string& operator= (const basic_string& str); c-string (2) basic_string& operator= (const charT* s); character
- 20. Пример: operator= #include #include int main () { std::string str1, str2, str3; str1 = "Test string:
- 21. basic_string::operator[ ] reference operator[ ] (size_type pos); const_reference operator[ ] (size_type pos) const; #include #include int
- 22. Потоки строк Объект класса string можно использовать в качестве источника ввода для потока istream или цели
- 23. #include #include #include using namespace std; void error( char* e, const char* s){ cerr } double
- 24. void func_out( string label, double d) { ostringstream os; // поток для составления сообщения os cout
- 25. Содержание строко- потоковых классов typedef basic_istringstream , allocator > istringstream; template class _Traits, class _Alloc> class
- 26. template class _Traits> class basic_ios : public ios_base // base class for basic_istream/basic_ostream class ios_base :
- 27. Реализация операций string string s="test"; const char* cc= s.c_str(); /////////////////////////////////// const _Elem *c_str() const {// return
- 28. Примеры: substr и find void sub(){ std::string str="We think in generalities, but we live in details.";
- 29. Примеры: replace void repl(){ string base="this is a test string."; string str2="n example"; string str3="sample phrase";
- 30. Примеры: erase void erase(){ string str ("This is an example sentence."); cout str.erase (10,8); // ^^^^^^^^
- 31. Широкие строки typedef basic_string wstring; wstring ws = L"Super"; Символы, которые могут содержаться в строке, не
- 32. Пример #include #include #include #include #include using namespace std; int main() { _setmode(_fileno(stdout), _O_U16TEXT); // переключаем
- 33. for (int i : v) wcout wcout for ( wchar_t i : ss) wcout wcout wcout
- 34. Пример. Преобразование. #include #include #include #include #include std::wstring wide_string ( std::string const& s, std::locale const& loc
- 35. std::string narrow_string( std::wstring const& s, std::locale const& loc, char default_char = '?') { // из wstring
- 36. char const *russian_locale_designator = "rus"; int main() { std::locale loc(russian_locale_designator); std::wstring const s = L"русский текст";
- 37. Еще один опыт. using int_string = std::basic_string , std::allocator >; void add_to_int_str(int n) { int_string si;
- 38. Продолжение … #include #include #include using namespace concurrency; template __int64 time_call(Function&& f) { __int64 begin =
- 39. Продолжение … void main() { // typedef std::basic_string , // std::allocator > int_string ; int_string si
- 41. Скачать презентацию