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

Амперсанд перед именем функции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ подбор паролей http://www.cyberforum.ru/cpp-beginners/thread166082.html
может кто то писал,не как не могу разобраться
C++ Указатели на виртуальные функции-члены //Óêàçàòåëè íà âèðòóàëüíûå ôóíêöèè-÷ëåíû. #include <iostream> using namespace std; class Mammal { public: Mammal():itsAge(1) { } virtual ~Mammal() { } http://www.cyberforum.ru/cpp-beginners/thread166079.html
C++ Линейная программа.
Уважаемые, у меня небольшая просьба. Только начинаю изучать программирования, и тут такая задача. Помогите в решении. Программа линейная. Язык программирования С.
Сколько человек прожил месяцев, дней, часов, минут, секунд? C++
Написать программу, которая по введённому возрасту в годах (например, 18.5 лет) выводит сколько человек прожил месяцев, дней, часов, минут, секунд
C++ Расположить числа по возрастанию http://www.cyberforum.ru/cpp-beginners/thread166067.html
Пользователь вводит четыре числа: a, b, c, d float a, b, c, d; cin >> a >> b >> c >> d; как легче всего расположить их по возрастанию? заранее спасибо
C++ Gnu C++ и Cygwin Начал обучение языка с книги "C++ for Dummies". И с самой первой главы попал в затык. Нужно установить Gnu C++. Для написания первой программы требуется редактор rhide. Конечно можно было бы... подробнее

Показать сообщение отдельно
rangerx
1933 / 1542 / 141
Регистрация: 31.05.2009
Сообщений: 2,912
18.09.2010, 14:31
Цитата Сообщение от a91 Посмотреть сообщение
Если в обоих случаях возвращается адрес переменной, тогда зачем это делается?)
Ссылка не возвращает адрес... Можете считать, что ссылка это псевдоним/второе имя(с точки зрения языка) той или иной переменной. К ней можно обращатся точно также, как и к обычной переменной и изменять значение той переменной на которую она ссылается. Примеры с возвращаемым значением вам уже приводили... Вот пример функции swap с использованием ссылок в качестве параметрв
C++
1
2
3
4
5
6
7
8
9
10
11
void swap(int& a, int& b)
{
    int t = a;
    a = b;
    b = t;
}
//...
    int m = 1;
    int n = 2;
    swap(m, n); // int& a = m, int& b = n
//...
Цитата Сообщение от a91 Посмотреть сообщение
в случае * перед именем функции, и & после типа
Перед именем функции или после типа не имеет значения, но с точки зрения стиля правильнее было бы писать как * так и & непосредственно после типа. )
Цитата Сообщение от a91 Посмотреть сообщение
Почему в первом случае переменную можно инициализировать, а во втором выдаст ошибку???
потому что b имеет тип int*, а переменная а это ссылка на int. Если необходимо сделать ссылку на указатель запись должна быть такой.
C++
1
int*& a = b;
P.S. т.к. вы используете подсветку для С на всякий случай повторю - в C ссылок нет. )
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru