Анимация
JavaScript
|
Главная Библионтека string string::operdtor+= (char с) void strmg: :push back {char c) О Обе функции присоединяют к строке символ с. О Оператор += возвращает *this. О Если размер ползченной строки превышает максимально допустимое количество символов, обе функции генерируют исключение length error. string string::append (Inputlterator beg. Inputlterator end) О Присоединяет все символы из интервала [beg,end). О Возвращает *this. О Если размер полученной строки превышает максимально допустимое количество символов, генерируется исключение length error. Вставка символов string string:[insert (slze type idx, const string str) О Вставляет символы из sty так, что новые символы начинаются с индекса idx. О Возвращает *this. О Если выполняется условие idx>s\zeO, генерируется исключение out of range. О Если размер полученной строки превышает максимально допустимое количество символов, генерируется исключение length error. string string:-.insert (size type idx. const string str. s1ze type strjdx. size type strjium) О Вставляет не более str num символов из str, начиная с индекса str idx, так, что новые символы начинаются с индекса idx. О Возвращает *this. О Если выполняется условие iiir>size(), генерируется исключение out of range. О Если выполняется условие strJdx>str,s\ze{), генерируется исключение out of range. О Если размер полученной строки превышает максимально допустимое количество символов, генерируется ис1С71ючение Iength ern3r. string string: : insert (size type idx. const char* cstr) О Вставляет символы С-строки cstr так, что новые символы начинаются с индекса idx. О Возвращает *this. О Аргумент cstr не должен содержать NULL-указатель. О Если выполняется условие w£r>size(), генерируется исключение out of range. О Если размер полученной строки превышает максимально допустимое количество символов, генерируется исключение length error. string string:-.insert (size type idx. const char* chars. size type charsjen) О Вставляет charsjen символов из символьного массива chars так, что новые символы начинаются с индекса idx. О Возвращает *this. О Символьный массив chars должен содержать не менее charsjen символов, которые могут иметь произвольные значения (символ \0 не имеет особой интерпретации). О Если выполняется условие idx>s\ze(), генерируется исключение out of range, О Если размер полученной строки превышает максимально допустимое количество символов, генерируется исключение length error. string stry/?g:;insert (size type idx. size type num. char c) void stry/?g::insert (iterator pos. size type num. char c) О Обе формы вставляют пит экземпляров символа с в позицию, заданную индексом idx или итератором pos соответственно. О Первая форма вставляет новые символы так, чтобы они начинались с индекса idx. О Вторая форма вставляет новые символы перед символом, на который ссылается итератор pos. О Учтите, что перегрузка этих двух функций приводит к потенциальной неоднозначности. При передаче нуля во втором аргументе значение может интерпретироваться как индекс (обычно преобразование к unsigned) или как итератор (обычно преобразование к char*). Следовательно, в таких ситуациях индекс должен передаваться с точным указанием типа. Пример: std::String s: s.insert(0.1. ): ОШИБКА: неоднозначность s.insert((std:iString;:size type)Q.l. ): OK О Обе формы возвращают *this. О Если выполняется условие idx>s\zeQ, обе формы генерируют исключение out of range. О Если размер полученной строки превышает максимально допустимое количество символов, генерируется исключение length error. iterator string: -.insert (iterator pos. char c) О Вставляет копию символа с перед символом, на который ссылается итератор pos. о Возвращает позицию вставленного символа. О Если размер полученной строки превышает максимально допустимое количество символов, генерируется исключение length error. В стандарте допущена ошибка - в нем говорится, что вторая форма возвращает позицию за end void str7/?g::insert (iterator pos. Inputlterator beg. Inputlterator end) О Вставляет все символы интервала [beg,end) перед символом, на который ссылается итератор pos. О Если размер полученной строки превышает максимально допустимое количество символов, генерируется исключение length error. Удаление СИМВОЛОВ void string::с1еаг() string string: .erase О О Обе функции удаляют из строки все символы. После вызова строка остается пустой. о Функция eraseO возвращает *this. string string::erase (size type idx) string, string::erase (size type idx. size tpe len) О Обе формы возвращают не более len символов *this, начиная с индекса idx. О Обе формы возвращают *this. О Если аргумент len отсутствует, удаляются все оставшиеся символы. О Если выполняется условие idx>s\zeO, обе формы генерируют исключение out of range. string string::erase (iterator pos) string string: -.erdse (iterator beg. iterator end) О Обе формы удаляют один символ в позиции итератора pos или все символы в интервале [beg,end) соответственно. О Обе формы возвращают первый символ после удаленного фрагмента (вторая форма возвращает end)K Изменение размера void s£r7/?g::resize (s1ze type пит) void strmg: :res1ze (s1ze type num. char c) О Обе формы изменяют количество символов в *this и делают его равным пит. Если значение пит отлично от size(), функции присоединяют или удаляют символы в конце строки в соответствии с новым размером. О При увеличении количества символов новые символы инициализируются значением с. Если аргумент с отсутствует, символы инициализируются конструктором по умолчанию для типа символов (то есть \0 для типа char). О Если аргумент пит равен string:-.rpos, обе формы генерируют исключение length error. О Если размер полученной строки превышает максимально допустимое количество символов, генерируется исключение length error. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 [ 160 ] 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 |