Четвертый BORLAND С++ и его окружение

Переменные-ссылки, используемые в качестве аргументов


Одним из нововведений в С++ является новый вид переменных -

ссылки. Ссылка - переменная, задаваемая указателем. Чтобы сделать переменную ссылкой, необходимо после описателя типа поставить операцию

'&'. Ссылка схожа с переменной во всем, однако, на самом деле она

совпадает с другой переменной, адрес которой указывается при объявлении ссылки.

В Си, если вы хотите непосредственно работать с передаваемой в

функцию переменной, вам нужно передать указатель на эту переменную.

При этом нужно соблюдать соответствующий синтаксис и помнить о том,

что указатель требуется разыменовать. С++ позволяет вам с помощью

ссылки передавать и модифицировать действительное значение переменной.

Си Турбо и Borland C++

typedef struct { struct rect { // Определение структуры

int wd, ht; int wd, ht; // Ширина и высота

} rect; }; // прямоугольника



Передача ссылки

v

int area(rect *r) int area(rect& r) // Вычисление

{ { // площади прямоугольника

return r->wd*r->ht; return r.wd * r.ht;

} } ^

- Использование раздели-

теля вместо '->'

rect r; rect r;

int k = area(&r); int k = area(r);

В данном примере, для вычисления площади прямоугольника, после

определения структуры rect описана функция элемент area с параметром-ссылкой r. После инициализации переменной r типа rect, выполняется вызов функции элемента area с аргументом r, который будет

использоваться не явно, а в качестве ссылки. Таким образом, незаметно

для нас, аргумент передан в функцию элемент, через его адрес. Отметим, что rect& r, rect &r и rect & r эквивалентны.

Отличием C++ от языка Си является смена разделителя с '->' на '.'.



Содержание раздела