
Ilia
04.05.2018
16:05:12
http://joxi.ru/Dr8yZ63T4xlYbm WTF?
Значит это, что ты просто взял в Debug конфигурации пошуровал палкой так, что она перестала быть debug, хотя называться такой не перестала

Xessao
04.05.2018
16:05:41
> Учите PHP...
Хотя - не знаю что хуже - быть пыхером или стать овощем от неудачного падения

Alexey
04.05.2018
16:10:52

Google

Chiveson
04.05.2018
16:15:55
CppCoreGuidelines
Exception A global object is often better than a singleton.
тут говорится с точки зрения памяти?

Anton
04.05.2018
16:18:41

NoNick
04.05.2018
16:26:33
@AlexFails в CLion та же самая фигня. Как там настроить, напомни?(

Olesya
04.05.2018
16:26:45

Alexander
04.05.2018
16:42:08
https://godbolt.org/g/FUfkzS
не оптимайзит, гад

Ilia
04.05.2018
18:57:09

Alexey
04.05.2018
18:58:44

Ilia
04.05.2018
18:59:47
Вряд ли это ...

Alexey
04.05.2018
19:00:09
Тогда даже не знаю, больше ничего криминального не делал

Ilia
04.05.2018
19:01:02
Должно быть что-то типа определения флагов компиляции ...
и линковки.

Google

Alexey
04.05.2018
19:01:35
Но у меня симейк типа такого http://joxi.ru/DmBLyNJSw9BMPA те.все ручками, иначе не подсасывает файлы.

Ilia
04.05.2018
19:08:41
Ну не знаю... может просто что не так пошло...

Maxim
05.05.2018
08:49:51

Constantine
05.05.2018
09:21:17
просто глобальными переменными нельзя, потому что порядки статической инициализации и смерти ног

Arsen
05.05.2018
12:49:15
ребят

Oleg
05.05.2018
13:56:26
Я так понимаю, что до сих пор ничего не придумали для кросс-инклудов, кроме указателей и ссылок?

Friedrich
05.05.2018
13:59:36
Модули!
(я не знаю, что такое «кросс-инклуды»)

Ⱪonstantin
05.05.2018
14:00:12
Forward declaration ещё

Oleg
05.05.2018
14:00:40

Xessao
05.05.2018
14:04:13

Ⱪonstantin
05.05.2018
14:04:41
Передача по значению работает с forward declaration и возврат по значению.
(Для функций)

Oleg
05.05.2018
14:05:37
мне надо такое: class A{ B b; } class B { A a; }

Ⱪonstantin
05.05.2018
14:05:45
Лол
Так нельзя. Потому что А внутри содержит Б, который внутри содержит А, который внутри содержит Б, ... Объект бесконечного размера
Нужны ссылки или смарт пойнтеры

Spoonson
05.05.2018
14:06:36
Тебя не смущает, что бесконечная вложенность намечается?

Oleg
05.05.2018
14:07:56
бля
так я и спрашиваю - придумали что-то, кроме указателей и ссылок, чтобы решить эту проблему, но видимо нет

Google

Mishka
05.05.2018
14:09:47
Я не вижу проблемы. Почему бы просто в В не хранить указатель/ссылку на А?

Oleg
05.05.2018
14:10:43
не хочу заниматься решением проблем с памятью там, где это не сильно нужно

Xessao
05.05.2018
14:11:51

Mishka
05.05.2018
14:12:10
Так пусть А хранит В по значению. Время жизни объектов в такой схеме очевидно, никаких смарт поинтеров не нужно

Oleg
05.05.2018
14:17:34
ссылку я использовать не могу
мне нужен дефолтный c-tor
видимо придется делать указатели

Assasin
05.05.2018
14:26:55
Модули!
разве модули решают проблему кросс зависимостей?

Admin
ERROR: S client not available

Oleg
05.05.2018
14:28:02
бле, так хотел избежать указателей - и на тебе

Friedrich
05.05.2018
14:32:42

Oleg
05.05.2018
14:33:08
не пойдет

Oleg
05.05.2018
14:33:32
там связка с qml
приходится страдать

Denis
05.05.2018
14:39:16
тебе нужны дефолтные конструторы, но ты хочешь делать поля без указателей и референсов — получаешь stack overflow: дефолтный конструктор A внутри вызовет дефолтный конструкторв B, и дальше по плану
без какого-нибудь shared_ptr, который инициализируется nullptr'ом, чуда не произойдёт принципиально

Oleg
05.05.2018
14:40:04
да я в курсе
я думал, что люди, которые умнее меня, может что-то уже придумали. Но нет

Denis
05.05.2018
14:41:08
они придумали shared_ptr и unique_ptr

Oleg
05.05.2018
14:42:57
нет, это не решает проблему. Указатель и ссылка решает проблему. Умный указатель или обычный - уже не важно.

Google

Oleg
05.05.2018
14:43:22
Ладно, буду думать, как теперь все объекты перевести на куч

Assasin
05.05.2018
14:43:47
а в каком-либо языке это решается иначе?

Oleg
05.05.2018
14:45:14

Igor
05.05.2018
16:10:37
Ну как бы this
У тебя либо один объект указывает на другой, либо ты уходишь в порочный круг "чтобы создать А нужно создать в нем Б, но для создания Б нужно создать в нем А, ..."
Так нельзя. Потому что А внутри содержит Б, который внутри содержит А, который внутри содержит Б, ... Объект бесконечного размера
Тебя не смущает, что бесконечная вложенность намечается?
А еще можно optional<B>

Oleg
05.05.2018
16:12:01
там тоже надо указатель, не?
хм, вот он бы подешел

Igor
05.05.2018
16:12:33
Там, емнип, блок памяти на стеке размером с sizeof(B)+1

Oleg
05.05.2018
16:12:37
наверное