|
16.08.2010, 01:25
|
#1
|
Мастер
Регистрация: 27.01.2008
Адрес: Россия, СКФО, ЧР, Грозный
Сообщений: 1,144
Написано 578 полезных сообщений (для 2,207 пользователей)
|
Указатели и ссылки
Привет, друзья! Решил изучить С++, и наткнулся на довольно интересную вещь под названием "указатели и ссылки". Вообщем, если вам не составит труда, то помогите разобраться с этой темой. Зараннее спасибо!
|
(Offline)
|
|
16.08.2010, 12:09
|
#2
|
Легенда
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений (для 568 пользователей)
|
Ответ: Указатели и ссылки
Пожалуй, тебе стоит быть более конкретным
|
(Offline)
|
|
Эти 4 пользователя(ей) сказали Спасибо johnk за это полезное сообщение:
|
|
16.08.2010, 12:30
|
#3
|
Бывалый
Регистрация: 03.11.2008
Адрес: Украина, Днепропетровск
Сообщений: 871
Написано 554 полезных сообщений (для 2,520 пользователей)
|
Ответ: Указатели и ссылки
Будет незаменима книга Герберта Шилдта "Полный справочник по C++. Четвёртое издание" (именно четвёртое!). Вопросы сами собой отпадут. И на будущее, у тебя обязательно должен стоять MSDN (я предпочитаю старенький, 2003).
По теме, в и-нете полно информации.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
16.08.2010, 17:16
|
#4
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: Указатели и ссылки
ссылку не надо разименовывать.
ссылка не может быть нулевой.
|
(Offline)
|
|
16.08.2010, 17:44
|
#5
|
Дэвелопер
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений (для 2,920 пользователей)
|
Ответ: Указатели и ссылки
Но ссылка может быть невалидной:
int * pointer = new int(); int & reference = *pointer; delete pointer; int value = reference; // FFFFFUUUUUUUUUUUUUUUUUUUUUUUUUUUU-!
|
(Offline)
|
|
16.08.2010, 19:04
|
#6
|
|
Ответ: Указатели и ссылки
или вот так
int * pointer = nullptr;
int & reference = *pointer;
int value = reference; // FFFFFUUUUUUUUUUUUUUUUUUUUUUUUUUUU-!
|
|
|
|
31.08.2010, 08:15
|
#7
|
[object Object]
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,358
Написано 2,472 полезных сообщений (для 6,854 пользователей)
|
Ответ: Указатели и ссылки
стоп. Я же тебе по асе объяснял
|
(Offline)
|
|
31.08.2010, 22:53
|
#8
|
Бывалый
Регистрация: 03.12.2008
Адрес: наша раша
Сообщений: 762
Написано 129 полезных сообщений (для 245 пользователей)
|
Ответ: Указатели и ссылки
Кто не знал ассемблера (с различными методами косвенной адресации), тот до конца так и не поймет физического смысла указателей и ссылок! ИМХО. Еще знание ассемблера полезно для понимания разных вызовов ф-ий типа far pascal или callback...
__________________
Reality Simulation Games
Core 2 Duo 2,8GHz, RAM 1Gb, ATI R5670 1Gb. WinXP 32
|
(Offline)
|
|
31.08.2010, 23:01
|
#9
|
Дэвелопер
Регистрация: 06.04.2009
Адрес: Запорожье
Сообщений: 1,500
Написано 1,011 полезных сообщений (для 4,642 пользователей)
|
Ответ: Указатели и ссылки
Ты че, совсем отсталый? Ассемблер - это старье, как и С! Пруфлинк
__________________
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
31.08.2010, 23:36
|
#10
|
Бывалый
Регистрация: 03.12.2008
Адрес: наша раша
Сообщений: 762
Написано 129 полезных сообщений (для 245 пользователей)
|
Ответ: Указатели и ссылки
Бла-бла-бла... ассемблер -это основа основ. Его знание или хотя бы иметь представление о нем - очень полезная вешь!
__________________
Reality Simulation Games
Core 2 Duo 2,8GHz, RAM 1Gb, ATI R5670 1Gb. WinXP 32
|
(Offline)
|
|
01.09.2010, 18:23
|
#11
|
Blitz's Shame !!
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений (для 2,013 пользователей)
|
Ответ: Указатели и ссылки
зачем ??
|
(Offline)
|
|
01.09.2010, 18:29
|
#12
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: Указатели и ссылки
надо быть мегагением, чтобы обойти оптимизирующий компилятор на ассемблере.
ни один человек не сможет помнить про промахи кэша, подгрузки страниц памяти, предугадывания и проче-прочее, с чем вполне сносно справляется компилятор.
согласен, на асме можно переписать какую нибудь специфическую процедуру, но, мое имхо, ЗНАТЬ асм не обязательно, для нормального кодинга.
far pascal или callback...
|
fastcall \ stdcall ?
|
(Offline)
|
|
01.09.2010, 22:11
|
#13
|
Бывалый
Регистрация: 03.12.2008
Адрес: наша раша
Сообщений: 762
Написано 129 полезных сообщений (для 245 пользователей)
|
Ответ: Указатели и ссылки
я хотел просто сказать, что знание асма (даже начальное) поможет в понимании природы указателей и ссылок... , а еще неплохо бы знать как устроена оперативная память и как процессор выполняет косвенную адресацию! Очень редкие языки имеют указатели... и это усложняет их изучение для новичков по сравнению с "обычными " языками.... Раз уж взялись за С (С++) , то советую все-таки для кругозора почитать немного про ассемблер...
__________________
Reality Simulation Games
Core 2 Duo 2,8GHz, RAM 1Gb, ATI R5670 1Gb. WinXP 32
|
(Offline)
|
|
01.09.2010, 22:26
|
#14
|
Бывалый
Регистрация: 03.12.2008
Адрес: наша раша
Сообщений: 762
Написано 129 полезных сообщений (для 245 пользователей)
|
Ответ: Указатели и ссылки
Кароче ссылка - это целая константа равная адресу ячейки,где храница некая переменная (объект).
А указатель - это переменная (физическая ячейка памяти), которая содержит адрес ячейки некой другой переменной (объекта).
Вроде так...? На слух сложно понять... Гы-ы-ы...
__________________
Reality Simulation Games
Core 2 Duo 2,8GHz, RAM 1Gb, ATI R5670 1Gb. WinXP 32
|
(Offline)
|
|
01.09.2010, 22:29
|
#15
|
Дэвелопер
Регистрация: 21.11.2009
Адрес: Киев
Сообщений: 1,699
Написано 657 полезных сообщений (для 1,962 пользователей)
|
Ответ: Указатели и ссылки
Сообщение от Morganolla
я хотел просто сказать, что знание асма (даже начальное) поможет в понимании природы указателей и ссылок...
|
Вообще-то это:
Сообщение от .Squid
Ты че, совсем отсталый? Ассемблер - это старье, как и С! Пруфлинк
|
был сарказм. Ваш кэп.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 09:51.
|