Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Указатели и ссылки (& 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++ Массивы односвязных списков. Разработать прграмму работы с массивом односвязных списков. Программа должна содержать следующие процедуры, вызываемые из меню: - построение массива односвязных списков, вводя исходные данные из... подробнее

Показать сообщение отдельно
Monte-Cristo
2789 / 1375 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
17.11.2009, 13:29
Ссылки были введены в языке 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
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru