Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Язык C

Вызов С++ по ссылке:использование указателей [с примерами]

Вызов C++ по ссылке:использование указателей [с примерами]

В этом руководстве мы узнаем о вызове C++ по ссылке для передачи указателей в качестве аргумента функции с помощью примеров.

В учебнике по функциям C++ мы узнали о передаче аргументов функции. Этот используемый метод называется передачей по значению, поскольку передается фактическое значение.

Однако есть и другой способ передачи аргументов функции, при котором фактические значения аргументов не передаются. Вместо этого передается ссылка на значения.

Например,

05

Обратите внимание на 04 в 12 . Это означает, что мы используем адрес переменной в качестве нашего параметра.

Итак, когда мы вызываем 29 функция в 34 передав переменную num в качестве аргумента мы фактически передаем адрес num переменная вместо значения 5 .

<рисунок> <час>

Пример 1. Передача по ссылке без указателей

15 

Вывод

22

В этой программе мы передали переменные a и б к 48 функция. Обратите внимание на определение функции,

36

Здесь мы используем 51 для обозначения того, что функция будет принимать адреса в качестве параметров.

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

В 64 функция, параметры функции n1 и n2 указывают на то же значение, что и переменные a и б соответственно. Следовательно, обмен происходит по фактическому значению.

Ту же задачу можно выполнить с помощью указателей. Дополнительные сведения об указателях см. на странице Указатели C++.

<час>

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

44

Вывод

53

Здесь мы видим, что вывод такой же, как и в предыдущем примере. Обратите внимание на строку,

65

Здесь во время вызова функции передается адрес переменной, а не сама переменная.

Поскольку вместо значения передается адрес, оператор разыменования 70 должен использоваться для доступа к значению, хранящемуся по этому адресу.

77

83 и 91 дает значение, хранящееся по адресу n1 и n2 соответственно.

Так как n1 и n2 содержать адреса a и б , все делается для 101 и *n2 изменит фактические значения a и б .

Следовательно, когда мы печатаем значения a и б в 116 функция, значения изменяются.


Язык C

  1. С# с использованием
  2. Операторы С++
  3. С++ Комментарии
  4. Шаблоны классов С++
  5. C указатели
  6. Указатели C++ с примерами
  7. 13 различных типов вредоносного ПО в 2021 году [с примерами]
  8. 5 различных типов центров обработки данных [с примерами]
  9. 8 различных типов технологий в 2021 году [с примерами]
  10. C — указатели