Ссылка (программирование)
| В этой статье не хватает ссылок на источники информации.
Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена.
Вы можете отредактировать эту статью, добавив ссылки на авторитетные источники. Эта отметка стоит на статье с 14 мая 2011 |
Ссылка в программировании в это объект, указывающий на определенные данные, но не хранящий их. Получение объекта по ссылке называется разыменованием.
Ссылка не является указателем, а просто является другим именем для объекта.
В языках программирования ссылка может быть реализована как переменная, содержащая адрес ячейки памяти. В некоторых языках высокого уровня также имеется возможность использовать ссылки на объекты при передаче объектов в подпрограмму и из подпрограммы.
Содержание |
[править] Примеры реализаций ссылок
[править] C++
Ссылки в C++ должны быть связаны с каким-либо объектом. Таким образом, «нулевые ссылки» (не связанные с каким-либо объектом), в C++ отсутствуют. Разыменование ссылок в C++ не требует специального оператора. Таким образом, в C++ ссылки в форма передачи адреса в стек напрямую, минуя копирование и указатели.
В следующем примере параметр x передаётся по значению, а y в по ссылке. Результат работы функции помещается в y:
#include <iostream> using namespace std; // без этой записи нам бы пришлось дописывать "std::" к cout и endl void square(int x, int &result) { result = x*x; } int main() { int y = 0; //Инициализация square(3, y); cout << "y=" << y << endl; //y=9 return 0; }
[править] Java и C#
В этих языках понятие указателя отсутствует, а вместо него используется понятие ссылки. Разыменование ссылок и взятие адресов объектов для присваивания их ссылкам не требует специального оператора.
[править] PHP
Ссылки в PHP в это средство доступа к содержимому одной переменной под разными именами. Они не похожи на указатели C и не являются псевдонимами таблицы символов. В PHP имя переменной и её содержимое в это разные вещи, поэтому одно содержимое может иметь разные имена. Ближайшая аналогия в имена файлов Unix и файлы в имена переменных являются элементами каталогов, а содержимое переменных это сами файлы. Ссылки в PHP в аналог жёстких ссылок (hardlinks) в файловых системах Unix.
<?php $a = 'text'; $b =& $a; print $b.'<br />'; $a = 5; print $b.'<br />'; ?>
text 5
[править] См. также
| Типы данных | |
|---|---|
| Неинтерпретируемые | |
| Числовые | |
| Текстовые | |
| Указатель |
Адрес Ссылка |
| Композитные | |
| Другие | |
| Связанные темы | |
| Эта статья или раздел нуждается в переработке.
Пожалуйста, улучшите статью в соответствии с правилами написания статей.
|