Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Немного про std::string - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Объединение нескольких png файлов в один png-файл http://www.cyberforum.ru/cpp/thread1777427.html
В общем надо написать програмулину, которая объединяет несколько png файлов (ширина и высота одинаковы у изображений) в один png-файл. Пример: Есть пара png-картинок: :p, :D, :(, =-O, :yes:,...
C++ Как операционная система выделяет виртуальную память процессу? Добрый вечер, хотел уточнить насчёт адресации: создаётся экземпляр win32 программы, выделяет процесс и 1 поток - ОС даёт процессу виртуальное адресное пространство в 4 ГБ - другими словами адрес,... http://www.cyberforum.ru/cpp/thread1777330.html
C++ Ошибка: invalid conversion from "int" to "SDL_RendererFlip"
Скриншот приложен, Вот страница, откуда я брал этот код Подскажите что делать
Icu итератор C++
Здравствуйте. Подскажите как с помощью icu проитерировать посимвольно UnicodeString и на выходе получить то, что сразу можно в обычный string запихнуть. Нагуглил такой вариант: #include...
C++ Подскажите пожалуйста либу на плюсах для операций с многоугольниками http://www.cyberforum.ru/cpp/thread1775508.html
Вообще задача - вычитать друг из друга пересекающиеся многоугольники (как во множествах) и соответственно находить результирующие многоугольники. Нашёл либу такую вещь, как "Clipper" но он работает...
C++ Как убрать столкновение Объектов на плоскости с пустым пространством? Код определяет столкновение по х и y. if ((obj1.x + obj1.width >= obj2.x) && (obj1.x <= obj2.x + obj2.width)) XColl = true; if ((obj1.y + obj1.height >= obj2.y) && (obj1.y <= obj2.y +... подробнее

Показать сообщение отдельно
meJevin
155 / 147 / 58
Регистрация: 18.11.2015
Сообщений: 652
Завершенные тесты: 1

Немного про std::string - C++

08.07.2016, 00:16. Просмотров 918. Ответов 34
Метки (Все метки)

Привет, читал про std::string на разных сайтах.


1. Там говорят, С++ 11 гарантирует, что std::string будет stored contiguously in memory. В этом я не сомневаюсь, но каким еще образом можно в памяти хранить std::string?

2. Говорят, что std::string на самом деле имеет null-terminator на конце. Это так? Вроде да, я в этом немного убедился в своей студии. Сделал четыре std::string'a, через цикл от 0 до size()+1 вывел все представления их символов в виде int, и да, последний символ был '\0' (в int виде просто 0).

Но все равно, некоторые говорят, что если мы имеем std::string str("hello"); и пытаемся получить доступ к желанному null-terminator'у, у нас может быть UB. Т.е. писать такое: std::cout << (int)str[str.size()] << std::endl; не стоит. Правда может быть UB?

3. Что под капотом у std::string на самом деле? Можете объяснить простым языком, если не трудно?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru