Size: a a a

2020 November 17

m

magras in pro.cxx
Alex Sandrov
добавление в проект _чего_?
Менеджер зависимостей. Сейчас популярны vcpkg и conan. Мне кажется meson тоже умеет в управление зависимостями, но я им не пользовался.
источник

AS

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

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

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

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

AS

Alex Sandrov in pro.cxx
magras
Менеджер зависимостей. Сейчас популярны vcpkg и conan. Мне кажется meson тоже умеет в управление зависимостями, но я им не пользовался.
Спасибо, пойду читать
источник

ПК

Побитый Кирпич... in pro.cxx
Alex Sandrov
Спасибо, пойду читать
Сначала желательно cmake изучить, чтоб потом в него интегрировать манагер зависимостей
источник

A

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

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

Если же проект пишется исключительно ради самообучения я обеими руками за написание своих велосипедов. =)
А как можно "Добавить в проект Conan"? Это же отдельностоящее приложение. Или вы имели в виду в очень смысле, освоить использование?
источник

m

magras in pro.cxx
Alex
А как можно "Добавить в проект Conan"? Это же отдельностоящее приложение. Или вы имели в виду в очень смысле, освоить использование?
Интегрировать в проект conan. Он же не совсем снаружи проекта. Даже если использовать подход через find_package или toolchain file все равно необходимо вносить изменения в cmake.
источник

A

Alex in pro.cxx
Хм, а я думал, что он не может не быть совсем снаружи
источник

ПК

Побитый Кирпич... in pro.cxx
magras
Интегрировать в проект conan. Он же не совсем снаружи проекта. Даже если использовать подход через find_package или toolchain file все равно необходимо вносить изменения в cmake.
С vcpkg кстати не надо, это мне нравится
источник

A

Alex in pro.cxx
А под Android/iOS Conan может собрать зависимости?
источник

NG

Nikita Griazin in pro.cxx
CMake как бы тоже не внутри)
источник

AS

Alex Sandrov in pro.cxx
я правильно понял, что это местный мавен? :)
источник

A

Alex in pro.cxx
файлы проекта cmake, qmake и прочих билд-систем хотя бы в репозитории лежат
источник

NG

Nikita Griazin in pro.cxx
Alex Sandrov
я правильно понял, что это местный мавен? :)
ну что то вроде да
источник

NG

Nikita Griazin in pro.cxx
кто то пользуется, но в сравнении как это в java работает тут репозитории не то что бы полные
источник

m

magras in pro.cxx
Побитый Кирпич
С vcpkg кстати не надо, это мне нравится
Я vcpkg давно пробовал, но думаю там на самом деле все точно так же. Если пакет в vcpkg имеет имя отличающееся от системного это уже приводит к завязке проекта на тот или иной менеджер зависимостей.
источник

m

magras in pro.cxx
Но мы кажется уже уходим в оффтопик. Для обсуждения билдов есть чат @probuildsystems.
источник

AS

Alex Sandrov in pro.cxx
да, раскрутим стек назад, мы пришли к vcpkg от темы боязни зависимостей
источник

AM

Alexander Malkov in pro.cxx
хмм.. а не тема ли указателей для @supapro ?)
источник

AM

Alexander Malkov in pro.cxx
лучше так, есть ли тут ненавистники std::enable_shared_from_this ?
источник

AZ

Alexander Zaitsev in pro.cxx
Alexander Malkov
лучше так, есть ли тут ненавистники std::enable_shared_from_this ?
enable потерял
источник