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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
G_Man002
1 / 1 / 0
Регистрация: 24.02.2015
Сообщений: 206
#1

Как работает операция взятия адреса "&"? - C++

07.01.2016, 17:53. Просмотров 423. Ответов 12
Метки нет (Все метки)

В каждой переменной есть адрес,так вот,когда операция взятия адреса берёт адрес,она его копирует?И тогда адрес остаётся в переменной и в указателе?Или в переменной уже адреса не остаётся,только в указателе?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.01.2016, 17:53     Как работает операция взятия адреса "&"?
Посмотрите здесь:
C++ Оператор взятия адреса (&)
C++ Почему не работает функция std::regex_replace(temp,"amp;","");
Побитовые операции: как работает этот сдвиг вправо и логическое "И"(&) ? C++
C++ Не работает унарная операция "-"
Операция получения адреса & и vector C++
C++ Синонимы операций взятия адреса массива (arr и &arr)
В чём разница между возвратом "string" и "const string&" & C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Байт
Эксперт C
15841 / 10168 / 1522
Регистрация: 24.12.2010
Сообщений: 19,171
07.01.2016, 18:06     Как работает операция взятия адреса "&"? #2
Цитата Сообщение от G_Man002 Посмотреть сообщение
Или в переменной уже адреса не остаётся
Или.
Странно. Как ты все это себе представляешь? Что значит "в переменной остается адрес". Он просто есть и все. Переменная, она ж где-то расположена. Где-то живет. Занимает какую-то область памяти. Вот номер первого байта этой памяти и есть ее адрес.

Не по теме:

Или это опять прикол?



Добавлено через 1 минуту
Цитата Сообщение от G_Man002 Посмотреть сообщение
В каждой переменной есть адрес
Неточность. У каждой переменной есть адрес
G_Man002
1 / 1 / 0
Регистрация: 24.02.2015
Сообщений: 206
07.01.2016, 18:09  [ТС]     Как работает операция взятия адреса "&"? #3
Цитата Сообщение от Байт Посмотреть сообщение
Или.
Странно. Как ты все это себе представляешь? Что значит "в переменной остается адрес". Он просто есть и все. Переменная, она ж где-то расположена. Где-то живет. Занимает какую-то область памяти. Вот номер первого байта этой памяти и есть ее адрес.
Понятно,адрес существует пока есть переменная.

Не по теме:


Цитата Сообщение от Байт Посмотреть сообщение
Или это опять прикол?
Нет,просто было интересно.Да и почему опять?До этого разве были темы созданные мной похожие на троллинг?Нет.

gru74ik
Модератор
Эксперт CЭксперт С++
4106 / 1751 / 197
Регистрация: 20.02.2013
Сообщений: 4,856
Записей в блоге: 21
07.01.2016, 19:07     Как работает операция взятия адреса "&"? #4
Цитата Сообщение от G_Man002 Посмотреть сообщение
Да и почему опять?До этого разве были темы
Так вроде ж ты говорил как-то раз, что ты пока отлучался, пьяные весёлые дружбаны из-под твоей учётки на форум понаписали от твоего имени всякой ереси?

Добавлено через 1 минуту

Не по теме:

Цитата Сообщение от Байт Посмотреть сообщение
Или это опять прикол?
Опять дружбаны, наверное, угорают. Одна аватарка с зигующим негром на фоне украинского флага чего стоит! Кто-то веселится, похоже.

G_Man002
07.01.2016, 19:15  [ТС]
  #5

Не по теме:


Цитата Сообщение от gru74ik Посмотреть сообщение
Так вроде ж ты говорил как-то раз, что ты пока отлучался, пьяные весёлые дружбаны из-под твоей учётки на форум понаписали от твоего имени всякой ереси?
Я такого не говорил,описание профиля и аватарку поставил я.Только реакция странная на это,один человек назвал меня нацистом.

GoldenSpice
4 / 4 / 5
Регистрация: 14.10.2015
Сообщений: 26
07.01.2016, 19:30     Как работает операция взятия адреса "&"? #6
1) Указатель – переменная, значением которой является адрес ячейки памяти.
2) Адрес переменной существует, пока существует переменная, так как в момент создания переменной ей присваивается адрес в памяти, выделенной компилятором.
Байт
Эксперт C
15841 / 10168 / 1522
Регистрация: 24.12.2010
Сообщений: 19,171
07.01.2016, 19:35     Как работает операция взятия адреса "&"? #7
Цитата Сообщение от GoldenSpice Посмотреть сообщение
в момент создания переменной ей присваивается адрес в памяти, выделенной компилятором.
Опять неточность. Переменной присваивается только значение. Присваивать ей адрес - занятие совершенно нелепое, поскольку он у нее уже есть.

Добавлено через 1 минуту
Именно подобного рода неточности и порождают странные вопросы, озвученные в стартовом топике.
Croessmah
Модератор
Эксперт CЭксперт С++
13056 / 7319 / 816
Регистрация: 27.09.2012
Сообщений: 18,055
Записей в блоге: 3
Завершенные тесты: 1
07.01.2016, 22:37     Как работает операция взятия адреса "&"? #8
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от G_Man002 Посмотреть сообщение
Или в переменной уже адреса не остаётся,только в указателе?
Ну вот послали Вам письмо, указав на конверте адрес Вашего дома.
Взяли и скопировали Ваш адрес?
И адрес у Вашего дома остался?
Или у Вашего дома после этого не осталось адреса,
он остался только на конверте?
Абсурд, скажете Вы?
Вот так и Ваш вопрос звучит.

Цитата Сообщение от G_Man002 Посмотреть сообщение
Понятно,адрес существует пока есть переменная.
Адрес существует даже когда нет переменной.
Байт
Эксперт C
15841 / 10168 / 1522
Регистрация: 24.12.2010
Сообщений: 19,171
08.01.2016, 00:01     Как работает операция взятия адреса "&"? #9
Цитата Сообщение от Croessmah Посмотреть сообщение
Адрес существует даже когда нет переменной.
Этот случай уподоблю дому пустующему. К.Прудков.

Добавлено через 4 минуты
Цитата Сообщение от G_Man002 Посмотреть сообщение
Понятно,адрес существует пока есть переменная.
Чушь.
G_Man002
1 / 1 / 0
Регистрация: 24.02.2015
Сообщений: 206
08.01.2016, 11:44  [ТС]     Как работает операция взятия адреса "&"? #10
Цитата Сообщение от Байт Посмотреть сообщение
Этот случай уподоблю дому пустующему.
Bubble Sort:в реальной жизни когда переливают банки тоже используют 3-ю банку(переменную)?
Не нужно сравнивать программирование с реальностью.
Хотя все таки жидкости скорее перемешаются.
GoldenSpice
4 / 4 / 5
Регистрация: 14.10.2015
Сообщений: 26
08.01.2016, 11:56     Как работает операция взятия адреса "&"? #11
Цитата Сообщение от Croessmah Посмотреть сообщение
Адрес существует даже когда нет переменной.
Потому что память и ее адресация существуют до появления переменной.
Цитата Сообщение от Байт Посмотреть сообщение
Этот случай уподоблю дому пустующему
А точнее пустым ячейкам памяти с их адресами.

При создании переменной, она записывается в одну из ячеек, и ей же присваивается адрес, насколько я понимаю.
Kastaneda
Форумчанин
Эксперт С++
4514 / 2856 / 228
Регистрация: 12.12.2009
Сообщений: 7,249
Записей в блоге: 1
Завершенные тесты: 1
08.01.2016, 12:10     Как работает операция взятия адреса "&"? #12

Не по теме:

Цитата Сообщение от GoldenSpice Посмотреть сообщение
память и ее адресация существуют до появления переменной.
Звучит как выдержка из святого писания новой религии



Добавлено через 1 минуту
Цитата Сообщение от GoldenSpice Посмотреть сообщение
и ей же присваивается адрес
The truth is that there is no address
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.01.2016, 12:19     Как работает операция взятия адреса "&"?
Еще ссылки по теме:
Зачем "&" в "ostream& operator<<"? C++
Указатели. Необработанное исключение в "0x77c015de" ": 0x00000000: Операция успешно завершена C++
For(auto const& val : stime) .cpp(47) : error C2143: синтаксическая ошибка: отсутствие "," перед ":" C++
При вызове конструктора ошибка: L "Buffer is too small" & & 0 C++
Как мне избежать взятия адреса у аргумента функции? C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Байт
08.01.2016, 12:19     Как работает операция взятия адреса "&"?
  #13

Не по теме:

Цитата Сообщение от Kastaneda Посмотреть сообщение
Звучит как выдержка из святого писания новой религии
...ОЗУ ж была безвидна и пуста...

Yandex
Объявления
08.01.2016, 12:19     Как работает операция взятия адреса "&"?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru