Языки программирования с++ указатели - Компьютерные вопросы
  • Чаты 4chT.com в телеграмм
    Наши группы в телеграмм

Вопрос Языки программирования с++ указатели

lts

Capitan

lts

Capitan
Регистрация
25 Май 2013
Сообщения
106
Репутация
0
Спасибо
0
Монет
0
Объясните тему указателей и ссылок в С++

P.s. я дропнул язык после этой темы. Я лох немного, ну лан
 
Регистрация
23 Сен 2013
Сообщения
77
Репутация
0
Спасибо
0
Монет
0
Одной из отличительной способностью С/С++, которая отличает его от большинства современных языков является возможность управлять памятью. Если в большинстве других современных языков все это скрыто, то в С++ ты можешь всем этим управлять. Тебе это даёт больше возможностей, но и накладывает больше ответственности. То есть ты сам должен следить за выделением памяти и её очисткой.

Указатель это переменная которая хранит адрес чего-то в памяти.
Переменная, начало массива, объект неважно.
Представь, что память - огромный ряд гаражей. Так вот указатель - это номер гаража, в котором ты можешь найти данные.
Указатель обозначается звездочкой.
Чтобы получить адрес переменной используется амперсанд(&)

int a; //Обычная переменная
int* b; //Указатель на переменную
cout
 
Регистрация
31 Июл 2013
Сообщения
83
Репутация
1
Спасибо
1
Монет
0
simple code, а лучше книжку читай, больше информации узнаешь
 
Регистрация
26 Июл 2013
Сообщения
95
Репутация
0
Спасибо
0
Монет
0
Указатель – это переменная, которая хранит адрес объекта в памяти.Для возможности хранения адреса объекта используется операция взятия адреса (&).Для прямого доступа к объекту используется операция разыменования указателя (*).Для косвенного доступа к объекту используется оператор косвенного доступа (->).Для эффективного доступа, к однотипным объектам последовательно расположенным в памяти, с помощью указателей можно использовать адресную арифметику.Указатели позволяют выполнить динамическое выделение и освобождение памяти.Имя массива – указатель на его первый элемент.
 
Регистрация
2 Июл 2013
Сообщения
62
Репутация
0
Спасибо
0
Монет
0
Оперативная память машины логически является большим одномерным массивом байт.
Указатель - это адрес (порядковый номер) байта в памяти. Бывают более сложные модели адресации, но они в основном вышли из употребления. Разве что столкнёшься с MS-DOS.
Если тип данных занимает больше одного байта, то указатель на этот тип - это адрес его первого по порядку байта.

Ссылка - это замаскированный указатель. Если для получения значения по указателю применяется операция разыменования (например, *p или p->field), то со ссылкой можно обращаться, как с самим значением. Страуструп ввёл эту штуку в язык, чтобы можно было переопределять операции (a + b выглядит более естественно, чем *a + *b), но поскольку механизм ссылок (как и всё в C++) проектировался на коленке, без должного продумывания всех аспектов, то получилась синтаксическая каша, которую уже 40 лет пытаются привести в порядок, всё усложняя и усложняя стандарт, и до сих пор эта цель не достигнута.
 
Сверху Снизу