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

Всем привет Вчера писал по поводу возможности изменения объекта по ссылке

в std::list

Повторил данный код на простом примере, не работает:

Tmp *tmp = new Tmp;
auto array = new Tmp[10];
array[0] = *tmp;
tmp->counter++;
tmp->counter++;
->
tmp.counter == 2
array[0].counter == 0

Может необходимо хранить массив указателей, чтобы сохранить данную возможность?

16 ответов

7 просмотров

у вас тут нет никаких ссылок

array[0] = *tmp; это присвоение копии

dimazava-Zawadskiy Автор вопроса
Ivan Sokolov
array[0] = *tmp; это присвоение копии

спасибо, получилось в обратном порядке std::list<Tmp> list;; list.push_back(*(new Tmp)); Tmp *tmp = &list.back();

dimazava Zawadskiy
спасибо, получилось в обратном порядке std::li...

list.push_back(*(new Tmp)); Максимально странное действие

dimazava-Zawadskiy Автор вопроса
Андрей Таусинов
list.push_back(*(new Tmp)); Максимально странное ...

это для примера просто, делал копипастом

В с++ нет массива ссылок. Нужно делать массив указателей. Но настоятельно рекомендую делать массив unique_ptr

dimazava-Zawadskiy Автор вопроса
Int Unsigned
В с++ нет массива ссылок. Нужно делать массив указ...

спасибо, я вообще на std::list всё делаю, это так, для упрощения показать хотел за unique_ptr подход не знал, возьму на вооружение

Int Unsigned
В с++ нет массива ссылок. Нужно делать массив указ...

https://en.cppreference.com/w/cpp/utility/functional/reference_wrapper Вот так это можно обойти, если прямо нужно

dimazava-Zawadskiy Автор вопроса
Андрей Таусинов
https://en.cppreference.com/w/cpp/utility/function...

It is frequently used as a mechanism to store references inside standard containers (like std::vector) which cannot normally hold references. прям то что доктор прописал

Ещё можно порекомендовать плотно подумать, точно ли вам нужен list, а не vector.

dimazava Zawadskiy
It is frequently used as a mechanism to store refe...

но надо понимать последствия - если ссылка "провиснет", то можно об этом и не узнать

Alexander "Ternvein" Isaev
Ещё можно порекомендовать плотно подумать, точно л...

человеку стабильность ссылок нужна, как я понял. так что видимо list либо deque (с deque нюансы есть)

dimazava-Zawadskiy Автор вопроса

по итогу проверил мой код (который писал чуть ранее, с std::list, не этот упрощённый) на убунте с g++, всё работает у меня на clang 1 в 1 код, абсолютно идентичный не работает с g++ на убунте по указателю объект модифицируется и в сохранённом свойстве и в списке, а с cland на макоси - только сохранённое свойство, в списке изменение не проходит

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

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

а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
62
Всем привет! Подскажите. Я написал приложение на Delphi 10.2 Tokyo под Windows 10. И передо мной стал вопрос о том чтобы сделать это приложение кроссплатформенным (под Linux и...
Дмитрий Завгородний
24
Привет всем. Подскажите где можно посмотреть, какая версия электрон, поддерживает версии windows? Некий changelog. Мне бы желательно, поддержку 7,8,10... latest, как понимаю и...
Anonym Squad
21
Портфолио: Зовут меня Александр, мне 36 лет. Город Пушкино. Общий рабочий стаж: ~14 лет Уровень квалификации: Senior Full-stack developer Где прочесть мой код? https://github....
Magic
10
а где есть mysql cloud кроме яндекс-клауд?
Oleg Nosov
13
Есть ли смысл устраиваться на 1с ? Даст это плюс в дальнейшем трудоустройстве на php? Просто у меня в городе вакансий на пхп нету. Или лучше удаленно искать. Опыта работы нету...
Azamat
13
hi im a cs student. i need some advice from people who have enough experience in Embedded Software. I need to know whether this profession is suitable for me. I have watched s...
Sahand 🏔️
8
use16 org 0x7c00 mov bx, msg call print jmp $ print: pusha start: mov ah, 0x0e mov al, [bx] cmp al, 0 je end ...
sans
4
Кстати а покупал кто-нибудь ЭЦП для подписи кода? А то у меня на некоторых компах и ОС иногда SmartScreen винды программу за вирус принимал. Если купить такую ЭЦП и подписыват...
Дмитрий Завгородний
15
А кто-нибудь запихивал сборку перловых модулей/образов с perl приложениями в окружения без интернета (в специализированном CI/CD)? У меня сейчас есть ряд cpanfile, которые н...
Andrey Smirnov / 𝓪𝓵𝓵𝓽𝓮𝓻 /
14
Карта сайта