zHz00 Untitled

понедельник, 15 июля 2013
17:30 Ссылки в Си++: неочевидный (для меня) момент номер 0
Оказывается, можно так!

#include <cstdio>
using namespace std;

void f(int &a)
{
a=3;
}

int main(void)
{
int t=0;
int *p=&t;
f(*p);
printf("%d",t);
return 0;
}


После этого в t окажется 3! То есть, мы сначала разыменовали указатель и (вроде как) получили значение. Однако в функцию оно передалось всё равно по ссылке! Замечу, что f(p) писать нельзя.

Оффтоп: а ещё можно указатель на функцию разыменовывать сколько угодно раз. Имя любой функции -- тоже указатель. То есть можно: (********printf)("hello");

@темы: Программирование

URL
Все пропало...сплавы отменяются%(((( я в ауте...Все поед...
Вот и первый матч в Тегу, где я пребываю. Дания-Сенега...
Их травили дождем. Жгли солнцем. Забивали градом. Но он...
Рождение ребенка займет девять месяцев, независимо от тог...
лето началось... :2jump:
Я перестала забивать стрелки... люди находят меня сами......

19.07.2013 в 18:35

19.07.2013 в 18:35
Ох уж эти ссылки. Весь моцк с ними сломать можно, вернее, его остатки. Но штука пользительная, особенно при работе с хитровымудренными классами и кучей указателей.
URL
Добавить комментарий

Расширенная форма

Подписаться на новые комментарии
Получать уведомления о новых комментариях на E-mail