Используйте std:: string для владения последовательностями симво |
лов; §9.2; [CG:SL.str. I]. |
|
|
|
|
|
|
|
|
|
|
|
Предпочитайте операции над string функциям |
для работы |
со строка |
ми в стиле С; §9.1. |
|
|
|
|
|
|
|
|
|
|
|
Используйте |
string для объявления |
переменных и |
членов, но |
не |
базо |
вого класса; |
§9.2. |
|
|
|
|
|
|
|
|
|
|
|
|
Возвращайте string по значению |
(положившись на |
семантику |
переме |
щения); §9.2, §9.2.1. |
|
|
|
|
|
|
|
|
|
|
|
Непосредственно |
или |
|
косвенно |
используйте |
для |
чтения |
подстрок |
substr () и |
replace () |
для их записи; §9.2. |
|
|
|
|
|
|
string при |
необходимости |
может |
расти и сокращаться; §9.2. |
|
|
|
При необходимости проверки выхода за границы диапазона |
используй |
те at (),а не итераторы |
или |
индексы |
[]; §9.2. |
|
|
|
|
|
|
Используйте |
итераторы |
или |
индексы |
[] , а не аt |
( ) , если хотите |
опти |
мизировать скорость; §9.2. |
|
|
|
|
|
|
|
|
|
Ввод в string не приводит |
к переполнению; §9.2, §10.3. |
|
|
|
|
Используйте |
c_str () |
|
для |
получения представления string |
в |
виде |
строки в стиле С, |
(только) когда она вам требуется; §9.2. |
|
|
|
|
Используйте |
stringstream или |
обобщенную |
функцию извлечения |
значения (наподобие to<X>) для преобразования |
строк в числа; |
§10.8. |
Класс basic_string |
может быть |
использован |
для |
создания строк |
из |
символов любого |
типа; |
§9.2.1. |
|
|
|
|
|
|
|
|
Используйте |
суффикс s |
для |
строковых литералов, которые должны |
оз |
начать string стандартной |
библиотеки; §9.3 [CG:SL.str.12]. |
|
|
|
|