Size: a a a

2020 November 17

NG

Nikita Griazin in pro.cxx
Ilia Zviagin
А что за TP ?
флаг компилятора, который вне зависимости от содержимого и расширения собирает файл как с++
источник

NG

Nikita Griazin in pro.cxx
пытается
источник

IZ

Ilia Zviagin in pro.cxx
Понятно
источник

NG

Nikita Griazin in pro.cxx
проблема была в том, что в случае компиляции сишного кода как С в winrt ему могут быть присвоены не те имена, которые будут ожидаться линковщиком
источник

NG

Nikita Griazin in pro.cxx
поэтому насильно заставил собрать сишную часть как плюсы и линканул как пплюсы
источник

NG

Nikita Griazin in pro.cxx
грубо
источник

NG

Nikita Griazin in pro.cxx
но действенно)
источник

AS

Alex Sandrov in pro.cxx
Nikita Griazin
и он конкретно описан
это да, но, я так понял, там проблемы были в технической реализации. Сам я разбираться не стал, просто перешёл на юники. Причём, сильно жизнь мне это даже не усложнило. Ну, видимо, я довольно простой по проектам.
источник

NG

Nikita Griazin in pro.cxx
если бы у шаредов была бы проблема с технической реализацией добрая часть современного по постоянно жрала бы память
источник

NG

Nikita Griazin in pro.cxx
а все же что не говори именно плюсовый код самый экономный к памяти ( ну по моим ощущениям)
источник

AS

Alex Sandrov in pro.cxx
Nikita Griazin
а все же что не говори именно плюсовый код самый экономный к памяти ( ну по моим ощущениям)
да. Ну я деталей не знаю, может кто в чате есть, кто знает, напишет подробно, подождём :)
источник

ПК

Побитый Кирпич... in pro.cxx
Alex Sandrov
ну вот и я так думал, а тут ребята говорят, что нет чёткого понятия, когда объект будет уничтожен, даже когда его все отпустили
Дело не в том, что нет понятия когда будет уничтожен, а в том, что тупо делать shared_ptr, когда у тебя один владелец объекта
источник

ПК

Побитый Кирпич... in pro.cxx
Это как писать std::atomic в однопоточном коде
источник

AS

Alex Sandrov in pro.cxx
Тоже верно. Ну тут может быть сработало "а вдруг потом надо будет поделиться, а у меня уже shared..." 😊
источник

m

magras in pro.cxx
Alex Sandrov
Хочется технических деталей тогда :)
Каких именно?

Если в этом коде нет требований к высокой производительности, можно делать все что угодно. Но мне кажется лучше потратить время на добавление в проект conan'а и избавится от боязни зависимостей.

Если же проект пишется исключительно ради самообучения я обеими руками за написание своих велосипедов. =)
источник

NG

Nikita Griazin in pro.cxx
Alex Sandrov
да. Ну я деталей не знаю, может кто в чате есть, кто знает, напишет подробно, подождём :)
ну смотри, я когда пользуюсь указателями, я представляю, что классы - это арендодатели и арендаторы, а память это земля. Далее ты проецируешь способ взаимодействия классов и оттуда делаешь вывод, какой указатель использовать в текущей реализации.

Unique - это когда класс является прям барином куска памяти - он тут владелец, он несет ответственность за свой обьект один и распоряжается этой памятью он один

Shared - это коллективное владение, типа в складчину, коммунальная квартира) когда нескольким классам жизненно необходим какой то участок памяти то использовать надо как раз шаред, как правило используется для тех конструкций, которые изменяются из множества разных классов на равных правах

Weak - во всех отношениях это арендатор - он временно пользуется памятью принадлежащей либо барину либо шаредам, чаще лучше использовать его, особенно если нужен доступ только на чтение
источник

NG

Nikita Griazin in pro.cxx
на случай если поделиться есть make_shared
источник

NG

Nikita Griazin in pro.cxx
хотя я бы не рекомендовал его использовать - лучше продумывать что ты делаешь
источник

NG

Nikita Griazin in pro.cxx
рефакторинг как бы быстрее, чем потом разбираться с кучей кода "на потом"
источник

AS

Alex Sandrov in pro.cxx
magras
Каких именно?

Если в этом коде нет требований к высокой производительности, можно делать все что угодно. Но мне кажется лучше потратить время на добавление в проект conan'а и избавится от боязни зависимостей.

Если же проект пишется исключительно ради самообучения я обеими руками за написание своих велосипедов. =)
добавление в проект _чего_?
источник