Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Показать сообщение отдельно
Monte-Cristo
2794 / 1380 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
17.11.2009, 13:29

Указатели и ссылки (& vs * ) - C++

17.11.2009, 13:29. Просмотров 1707. Ответов 3
Метки (Все метки)

Ссылки были введены в языке C++, в языке С - их не было. Некоторые на ссылки говорят "скрытая форма указателя".. в этом, есть доля правды.. Ссылки были введены для того, что передавать переменные в функции, с правами изменения. Хотя это реализщуемо и через указатели, ссылки упрощают запись. Вот, посмотрите:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
using namespace std;
 
void func1(int &x) // передача аргумента по ссылке
{
    x = 10;
}
 
void func2(int *x) // передача указателя на переменную
{
    *x = 10; // разименовываем указатель и присваеваем значение переменной 10
}
 
int main()
{
    int A = 5;
    int B = 5;
    
    cout << "A=" << A << endl;
    cout << "func1(int &x)" << endl;
    func1(A); // просто передаем переменную A
    cout << "A=" << A << endl; // видим, что переменная A изменилась, и равна теперь 10
    
     
    cout << "\nB=" << B << endl;
    cout << "func2(int *x)" << endl;
    func2(&B); // передаем адресс переменной B
    cout << "B=" << B << endl; // видим, что переменная B изменилась, и равна теперь 10
  
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.11.2009, 13:29
Темы с ответами и решениями для C++ Указатели и ссылки (& vs * ):

Указатели и ссылки
Экспериментируя с указателями пришел к вот таким выводам: int a;...

Указатели и ссылки?
Ниже приведёна программы которая вызывает функцию. В функции происходит...

Указатели и Ссылки
извеняюсь,но никак не могу понять. int sum(int* inLeft, int* inRight) { ...

Указатели и ссылки
Используя вместо самой переменной указатель на нее написать программу в...

0
Указатели и ссылки (& vs * ) C++   Следующее сообщение темы 
Другие темы раздела
C++ элементы окна http://www.cyberforum.ru/cpp-beginners/thread64589.html
сделал вот такой код #include"windows.h" int __stdcall WinMain(HINSTANCE h1,HINSTANCE h2,char*para,int showcmd) { HWND...
C++ Циклы.Проверьте плз код! Задание: Напишите прогу,использующую вложенные циклы,которая запросит у пользователя значение кол-ва строк для отображения.Затем она должна отобразить указанное число строк со звёздами,с одной... http://www.cyberforum.ru/cpp-beginners/thread64579.html
Cтроки C++
(задачка в С) Дан текст, необходимо: -определить количество слов с строке. -найти самое короткое слово в строке и вывести его. -поменять местами первое и последнее слова в строке, а затем...
C++ Подпрограммы и системы счисления
Решите задачу для BorlandC 3.1, пжл. Определить подпрограммы сложения и умножения целых чисел, представленных в системах счисления с любым основанием от 2 до 10. Результаты проверять на десятичных...
C++ Шейкерная сортировка двусвязного списка http://www.cyberforum.ru/cpp-beginners/thread64560.html
Здравствуйте! У меня возникла проблема с сортировкой двусвязного списка. Получилось реализовать двусвязный список и отдельно Шейкер-сортировку (массива). Помогите, пожалуйста, отсортировать...
C++ Массивы односвязных списков. Разработать прграмму работы с массивом односвязных списков. Программа должна содержать следующие процедуры, вызываемые из меню: - построение массива односвязных списков, вводя исходные данные из... подробнее
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru