Как реализовать вызов по ссылке в C ++



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

Работа с C ++ - не сложная задача, если у вас уже есть опыт работы с C, поскольку оба они разделяют множество концепций друг с другом. Но в C ++ есть некоторые концепции, которые не являются частью парадигмы C. В этой статье «Вызов по ссылке в C ++» мы поговорим об одном таком понятии, как ссылочные переменные и их приложения, в следующем порядке:

Справочные переменные

C ++ дает нам новый тип переменной, то есть ссылочную переменную. Мы можем рассматривать ссылочную переменную как псевдоним для нашей исходной переменной. Это и есть точная функциональность ссылочной переменной в одной строке.





Например, если вас зовут Харрисон, но дома члены вашей семьи зовут вас Гарри. Теперь давайте рассмотрим некоторые детали ссылочных переменных. Объявление и использование этого типа переменных отличаются от обычных переменных, которые мы используем, но очень похожи на переменные-указатели.

Синтаксис:



int Hello = 1 int * ptr int & World = Привет

Когда мы создаем переменную «Hello», содержащую значение «1», сегмент памяти используется для сохранения значения «1», имя этого сегмента будет «Hello», а адрес этого сегмента будет иметь шестнадцатеричное значение, например0x64. когда мы пишемint& World = ПриветСоздается переменная «World», которая указывает на то же место в памяти.

Включение строки World ++ внесет изменения в адрес 0x64, это означает, что значение переменной «Hello» также изменится. Некоторые могут указать на то, как ссылочные переменные, отличные от переменных-указателей, которые мы будем обсуждать в последней части этой статьи.

Вызов по значению и вызов по ссылке в C ++

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



.trim () Java
#include с использованием пространства имен std void add (int a, int b) {a = a + 10 b = b + 10 cout<<'Value of a = '<  Вызов по значению в C ++

Из изображения выше мы видим, что как только мы вызываем функцию add (), значения переменных x и y копируются в переменные a и b. A и b - фиктивные переменные.

Звоните по справке: Теперь поговорим о вызове ссылочным методом. В этом методе отдельные фиктивные переменные не создаются, в метод передается ссылка на уже существующую переменную. Эта ссылка указывает на одну и ту же ячейку памяти, поэтому отдельные копии не создаются в памяти. Здесь важно отметить, что изменения, внесенные в ссылочные переменные, отражаются в фиктивной переменной.

keyerror: 'а'
#include с использованием пространства имен std void add (int & a, int & b) {a = a + 10 b = b + 10 cout<<'Value of a = '< int & min (int & a, int & b) {если (a 

Как мы видим, приведенная выше функция выглядит иначе, чем обычные функции, поскольку тип возвращаемого значения - «int &». Эта функция возвращает ссылку на a или b в зависимости от условия. Здесь важно отметить, что значенияне возвращаются.

Если мы вызовем функцию min (x, y) = 10. 10 будет присвоено x, если оно минимально, или y, если y минимально.

Вызов по ссылке против указателя

Во всех наших примерах мы видели, что мы всегда присваивали значение созданной нами ссылочной переменной, поскольку ссылочные переменные не могут иметь значение NULL, а переменные-указатели могут иметь значение NULL и могут вызывать непредвиденные ошибки.

код Фибоначчи на C ++

Ссылочные переменные не могут быть переназначены, в то время как переменные-указатели могут указывать на другую переменную позже в программе.

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

На этом мы подошли к концу статьи «Вызов по ссылке в C ++». Надеюсь, вы получили представление о различных реализациях вызова по значению и ссылке, а также о том, чем они отличаются.

Если вы хотите узнать больше, ознакомьтесь с от Edureka, надежной компании онлайн-обучения. Курс обучения и сертификации по Java J2EE и SOA от Edureka разработан, чтобы обучить вас базовым и продвинутым концепциям Java, а также различным средам Java, таким как Hibernate и Spring.

Есть вопрос к нам? Пожалуйста, укажите это в разделе комментариев этого блога, и мы свяжемся с вами как можно скорее.