Технология программирования. Базовые конструкции C/C++. Липачев Е.К. - 87 стр.

UptoLike

Составители: 

87
int main()
{
int x;
int &r = x; // создание независимой ссылки
x = 10; // эти две инструкции
r = 10; // идентичны
r = 100; // x=100;
// здесь дважды печатается число 100
cout << x << '\t'<< r <<"\n";
return 0;
}
Основное назначение ссылок использование в качестве формальных
параметров функций. Используя ссылку в качестве аргумента, функция
работает с исходными данными, а не с их копиями.
Пример. Стандартный пример передачи аргументов по ссылке
функция, меняющая значения аргументов
#include <iostream>
using namespace std;
void swapargs(int &x, int &y);
int main()
{
int i, j;
i = 10;
j = 19;
cout << "i: " << i << ", ";
cout << "j: " << j << "\n";
swapargs(i, j);
cout << "После перестановки: ";
cout << "i: " << i << ", ";
cout << "j: " << j << "\n";
return 0;
}
void swapargs(int &x, int &y)
{ int t;
t = x; x = y; y = t;
}
Пример. Ещѐ один пример на передачу параметров. Используется и
ссылка и указатель.
int main()
{
    int x;
    int &r = x; // создание независимой ссылки
    x = 10;        // эти две инструкции
    r = 10;      // идентичны
    r = 100; // x=100;
    // здесь дважды печатается число 100
    cout << x << '\t'<< r <<"\n";
    return 0;
}
     Основное назначение ссылок – использование в качестве формальных
параметров функций. Используя ссылку в качестве аргумента, функция
работает с исходными данными, а не с их копиями.
     Пример. Стандартный пример передачи аргументов по ссылке       –
функция, меняющая значения аргументов
#include 
using namespace std;
void swapargs(int &x, int &y);
int main()
{
    int i, j;
    i = 10;
    j = 19;
    cout << "i: " << i << ", ";
    cout << "j: " << j << "\n";
    swapargs(i, j);
    cout << "После перестановки: ";
    cout << "i: " << i << ", ";
    cout << "j: " << j << "\n";
    return 0;
}
void swapargs(int &x, int &y)
{   int t;
    t = x;     x = y;     y = t;
}
     Пример. Ещѐ один пример на передачу параметров. Используется и
ссылка и указатель.

                                 87