Size: a a a

cxx.Дискуссионная

2021 August 16

M

Mr.Mait in cxx.Дискуссионная
На с++ или go
источник

УГ

Уроде Гусеница - Кру... in cxx.Дискуссионная
Эксклюзивы
источник

УГ

Уроде Гусеница - Кру... in cxx.Дискуссионная
источник

УГ

Уроде Гусеница - Кру... in cxx.Дискуссионная
(кто не посмеялся тому бан)
источник

V

Vuniverse in cxx.Дискуссионная
Можно не надо?
источник

F

Free in cxx.Дискуссионная
кароче как я понял редко, но бывает
источник

t

tuberculosis in cxx.Дискуссионная
https://pastebin.com/rbJAc9Un

Может кто знает статью, где подобным образом расписаны все операции с указателями, указателями на указатели, ссылками и прочими указывающими/ссылающими?

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

A

Alex in cxx.Дискуссионная
B=A; и *B=*A; будут подписаны правильно, если переставить комментарии местами)
Звёздочка - разыменование указателя, т. е. обращение к объекту, на который указывает указатель. Операции со звёздочкой - это операции с объектом. Операции без звездочки - это операции с самим указателем, т. е. переменной, которая хранит адрес в памяти.
источник

t

tuberculosis in cxx.Дискуссионная
о, вот так понятно
источник

t

tuberculosis in cxx.Дискуссионная
пасиба
источник

t

tuberculosis in cxx.Дискуссионная
int x=1, z=2;
int *A=&x, *B=&z;
*&A=*&B;
ссылка А на x = ссылка А на z, т.е. теперь A ссылается на z.

и это то же самое, что A=B;
и то же самое, что *&A=&*B;
да?
(чекнул, А и В ссылаются на один и тот же адресс во всех случаях)
источник

A

Alex in cxx.Дискуссионная
& слева от lvalue (т. е. имени переменной) - оператор взятия адреса, к ссылкам не имеет отношения.

*&A - это *(&A), т. е. взятие адреса и тут же разыменование обратно, т. е. просто А.
Поэтому *&A=*&B - то же самое, что А=B.
&*B - вроде бы то же самое, только наоборот, да.
источник

t

tuberculosis in cxx.Дискуссионная
&*A=&*B;
если &* то же самое, что *&, то почему вот так ошибка компилляции?)
источник

A

Alex in cxx.Дискуссионная
да, я ошибся, *A - это ссылка на объект, на который указывает А. &*A - взятие адреса этого объекта. Но это просто значение, это rvalue, в него нельзя присвоить.
источник

t

tuberculosis in cxx.Дискуссионная
понял
источник

A

Alex in cxx.Дискуссионная
т. е. получается тот же адрес, который записан в А, но он не имеет никакого отношения к указателю (идентификатору), который называется А.
источник

t

tuberculosis in cxx.Дискуссионная
то есть он просто типа для чтения и это то же самое, что написать 5=2;
источник

A

Alex in cxx.Дискуссионная
точно
источник

t

tuberculosis in cxx.Дискуссионная
спасибо большое
источник
2021 August 17

AB

Artöm Bakri Al-Sarmi... in cxx.Дискуссионная
Если A имеет тип T*, ошибки нет, и что *&, что &* работают одинаково
источник