Программирование >>  Элементы языков с и с++ 

1 ... 193 194 195 [ 196 ] 197 198 199 200


Результат: si = привет! !! (добавлен указанный символ в новые позиции).

□ rfindo - в строке ищет заданную подстроку в обратном направлении (от конца к началу) и выдает номер позиции первой входимости.

Пример 1:

string з1= Приветствуем ; int i=sl.rfind( p );

Результат: i = i.

Пример 2:

string з1= Приветствуем ; int i=sl.rfind( p,10 );

Результат: i = -i. Поиск происходил с 11-й позиции, начиная с конца строки, и поэтому символ р не был найден.

□ size () - возвращает число элементов, находящееся в данный момент в строке.

Пример:

string 81= Привет ; int i=sl.size();

Результат: i = 6.

□ substr о - выделяет заданное количество символов, начиная с заданной позиции.

Пример:

string 81= Привет ;

sl=sl.substr(3,10);

J Результат: si = вет . Из si с позиции 4 выделено 10 символов (выделились только существующие).

□ swap () - меняет местами содержимое двух строк. Пример:

string з1= Привет ; string з2= Всем ; si.swap(s2);

Результат: si = Всем , s2 = Привет .



Операторы > .

□ += - добавляет символы к строке (обычное сцепление). . Пример:

string з1= Привет ; string з2= Всем ; sl+=s2;

Результат: si = привет Всем .

□ = - присваивает строке, находящейся слева, значение строки, находящейся справа.

Пример:

string з1= Привет ; string з2= Всем ; s2=3l;

Результат: 32 = привет .

□ [ ] - выдает ссьшку на символ строки, заданный его индексом. Пример:

int fu(basic 3tring <char>::reference r) обработка ссылки (

r=5; ,

return(0); )

string з1= Привет ; I

ba3ic 3tring <char>::reference rl = з1[5]> fu(rl);

Пояснение:

Функция fu() получает в качестве аргумента ссылку на элемент строки. Внутри своего тела она изменяет значение элемента строки, адрес которого передан функции. Поэтому после обращения к функции (последняя строка) значение з1 = привеЗ (т. е. символ т был заменен функцией на символ 5).



Тип String

Это класс из пространства System, предназначенный для проведения различных действий со строковыми данными. Используется при объявлении строки с указателем (например, string s;).

Знак объявляет указатель на объект в участке памяти, который выделяется под экземпляры объектов и автоматически освобождается, когда этот объект перестает использоваться. Указывается на целый объект, а не на какой-либо его член. Объект создается с помощью утилиты gcnew и конструктора объекта.

Почему возникла необходимость использовать указатель вместо обычного указателя * или ссылочного указателя &?

Указатель выдает ссылку на объект в выделенной памяти всегда, даже когда объект переместился в этом участке. Указатели обычного типа в подобных случаях этого делать не могут. В остальном применение указателя к элементу объекта такое же, как и других указателей: надо писать оператор -> после имени объекта, чтобы получить доступ к его члену (например, s->Copy() дает доступ к члену объекта типа string- методу копирования данных Сору ()).

Тип string применяется следующим образом.

Объявляется переменная этого типа, например, string s;.

Этой переменной можно присваивать значения такого же типа, что были уже где-то созданы и, следовательно, расположены в выделенной для них памяти. Когда мы пишем s = а; (где а - это переменная типа string, имеющая некоторое значение), то указатель указывает на объект а в выделенной для него памяти. Если по каким-то причинам объект а переместился в памяти на другое место, то указатель изменит свое значение на новое, которое станет все равно указывать на объект с именем а.

Однако переменной s типа string можно присваивать значение и с помощью конструктора, использующего утилиту gcnew, которая выделяет память под объект, на который воздействует конструктор, когда присваиваемое значение имеет тип, отличный от типа string. Конструктор для string имеет несколько форм:

□ string(const wchar t *value);

Например:

string s=gcnew String (Ll-я форма конструктора ); Результат: 1-я форма конструктора



1 ... 193 194 195 [ 196 ] 197 198 199 200

© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки.
Яндекс.Метрика