Здравствуйте, SaZ, Вы писали:
NB>>безотносительно Qt мне нравится принцип питона: "явное лучше, чем неявное"
NB>>то есть я смотря только на код должен не влезая во внутреннее устройство понимать, что происходит с владением объекта
SaZ>Всегда надо понимать что вы делаете. Вам концепцию шаред поинтеров тоже же пришлось изучать — как минимум прочитать доку и понять что такое счётчик ссылок.
ты не понял основной мысли.
речь не о концепциях, а о когнитивной нагрузке, испытываемой при чтении произвольного фрагмента пользовательского кода
есть две функции:
void add(Object* a);
void add(own<Object*> a);
обе функции делают одно и то же (забирают владение у вызывающего кода)
только во втором случае ты об этом знаешь, а в первом тебе нужно представлять какие процессы происходят в add
SaZ>Так же и в кутэ, один раз читаем доку про их модель владения, понимаем что вместо счётчика ссылок тут надо указать экземпляр родитель и всё, дальше всё явно. Объект живёт, пока мы его не удалим или пока не удалим его родителя.
проблема в том, что ты нифига не знаешь, захватывает addWidget владение, или нет