170 похожих чатов

Вот как понять эту строку? int aa = *(int *)a; Переменной aa

присваивается значение из указателя на а, верно?

20 ответов

29 просмотров

Значение из адреса, где адрес — это число, которое лежало в a Кажется, это может работать в таком случае int *x = new int; *x = 42; int a = (int) x; // записываем адрес указателя в int int aa = *(int *)a; // читаем значение из адреса, в aa будет 42 delete x;

Yarik-Pesochenski Автор вопроса
Pavel Pimenov
Значение из адреса, где адрес — это число, которое...

звездочка в начале применяется ко всему что написано после нее а не только к тому что в скобках?

Yarik-Pesochenski Автор вопроса
Pavel Pimenov
Значение из адреса, где адрес — это число, которое...

Звездочка разве ставится не только перед именем указателя?

Yarik-Pesochenski Автор вопроса
Pavel Pimenov
Значение из адреса, где адрес — это число, которое...

в последней строке звездочка после знака "=" забирает значение по адресу в указателе который закастован на определенный тип

Pavel Pimenov
Значение из адреса, где адрес — это число, которое...

На всякий случай подскажу, что приводить указатель к целочисленному типу можно только при условии достаточности ширины этого целочисленного типа для вмещения всех возможных значений указателя. В частности, для этого могут использоваться типы std::intptr_t и std::uintptr_t из <cstdint>, если предоставляются (знаковый и беззнаковый соответственно).

Yarik-Pesochenski Автор вопроса
Sergey Anisimov
На всякий случай подскажу, что приводить указатель...

В связи с этим есть 2 вопроса: 1) Как правильно читается конструкция (void *)? понятно что она приводит указатель к типу но как это прочитать 2) Почему нельзя создавать указатель на саму переменную а только на ее адрес, это как-то связано с работой с памятью?

Yarik Pesochenski
В связи с этим есть 2 вопроса: 1) Как правильно чи...

На всякий случай - все ещё чуть хуже, в С++ указатель на адрес объекта, а не памяти

Yarik-Pesochenski Автор вопроса
Yarik Pesochenski
ну это понятно, адрес ячейки памяти то

Это не одно и то же, если в той же ячейке памяти в итоге появится другой объект

Yarik-Pesochenski Автор вопроса
Yarik Pesochenski
В связи с этим есть 2 вопроса: 1) Как правильно чи...

Первый вопрос не очень понятен. Насчет второго - указатели являются самостоятельными типами данных. Если Вам требуется неявное подобное "создание" - для этого есть ссылки (они во многом различны, не только в этом).

Yarik Pesochenski
Но вопросы все же актуальны

Ну вот на второй вопрос - адрес берётся у объекта, собственно, а переменная - его имя

Yarik-Pesochenski Автор вопроса
Sergey Anisimov
Первый вопрос не очень понятен. Насчет второго - у...

Первый вопрос скорее в том, зачем при явно приведении типов в данном случае используется указатель на тип данных а не сам тип данных

Yarik Pesochenski
Первый вопрос скорее в том, зачем при явно приведе...

Так и приводите Вы указатель, в таком случае, а не сам объект "под ним". Убедитесь, что понимаете, что результатом вычисления (int*) a при определении int a; не вернет адрес a.

Denis P
Не соберется ?)

https://godbolt.org/z/eaMY8bYfx

Yarik-Pesochenski Автор вопроса

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта