Size: a a a

2020 November 15

W

W in pro.cxx
Alexander Dudin
Почему background поток не может пережить main?
причем тут это?
источник

W

W in pro.cxx
я говорю что конкретно в моем кейсе мейн нельзя пережить
источник

W

W in pro.cxx
Alexander Dudin
Почему background поток не может пережить main?
да и я не говорил что поток background
источник

LA

Liber Azerate in pro.cxx
Nikita Provotorov
кажется, специализировать std::default_delete нельзя, это уб
Можно, вносить специализации в namespace std можно. Это должен быть user-defined type и специализация должна проходить по требованиям для данного типа(std::default_delete)
источник

LA

Liber Azerate in pro.cxx
Ilia Zviagin
Да он же предлагает стандарт померять, язык сам.
Типа пропозл по изменению.
Нет. Было бы странно делать такой пропозал. Ты же не знаешь заранее, под какой тип специализировать. И вообще, я так понял, моя идея была понята как-то превратно. Я предлагал вносить специализации только для user-defined типов, собственно, такие, что их легально вносить в namespace std. Видимо, стоило уточнить, что за правомочность... Как насчёт такой идеи?
источник

LA

Liber Azerate in pro.cxx
Arelav
Ну как минимум потому что тогда в месте использования не видно. Неудобно для шаблонных типов. Да и логика страдает это уже явно не default. И в принципе добавлять что то в стд часто сомнительная идея
Насчёт сомнительности я уже сказал, в принципе, да и такое всё равно делается. А насчёт неудобства... Так в этом и суть. Представим, что у нас достаточно много таких юников, каждый раз писать с удалителем не хочется. Мне кажется красивое решение
источник

D

Dmitriy in pro.cxx
Liber Azerate
Насчёт сомнительности я уже сказал, в принципе, да и такое всё равно делается. А насчёт неудобства... Так в этом и суть. Представим, что у нас достаточно много таких юников, каждый раз писать с удалителем не хочется. Мне кажется красивое решение
Конечная цель - не писать каждый раз шаблонный параметр явно?
источник

LA

Liber Azerate in pro.cxx
Dmitriy
Конечная цель - не писать каждый раз шаблонный параметр явно?
Да. Ну и не передавать в качестве аргумента удалитель
источник

D

Dmitriy in pro.cxx
Liber Azerate
Да. Ну и не передавать в качестве аргумента удалитель
Со вторым сложнее, первое легко решается костылём
источник

AN

Alexander N in pro.cxx
А что если бы удалитель можно было как например std::hash специализировать? И был бы ADL
источник

D

Dmitriy in pro.cxx
template <class Ty, class Dx>
unique_ptr(Ty*, Dx&&) -> unique_ptr<Ty*, Dx>;

template <class Ty, class Dx>
unique_ptr(Ty*, Dx&) -> unique_ptr<Ty*, Dx>
Второе нужно, чтобы не схлопотать dangling reference от lvalue-удалителей в неожиданном месте
источник

LA

Liber Azerate in pro.cxx
Alexander N
А что если бы удалитель можно было как например std::hash специализировать? И был бы ADL
Это и есть идея. Всё ещё не нравится?
источник

IZ

Ilia Zviagin in pro.cxx
W
Могу ли я передавать адрес переменной стека в другой тред, и работать там с этим адресом (использую interlocked)
Такой кейс у меня есть тред в начале своей работы там определяется переменная типа int счетчик я беру её адрес и отдаю другим тредам они с ней работают и с первого треда проверяю результат, как только в счетчике нужное число делаю дела. Насколько это легально так использовать стековые переменные? Может быть лучше просто выделить память под этот инт и не извращаться?
Можно.
источник

Q

QORBY in pro.cxx
Глупо начинать с чтения книги Страуструпа "Язык программирования C++ специальное издание"? Недавно приобрел, но ничего не понимаю
источник

IZ

Ilia Zviagin in pro.cxx
W
Могу ли я передавать адрес переменной стека в другой тред, и работать там с этим адресом (использую interlocked)
Такой кейс у меня есть тред в начале своей работы там определяется переменная типа int счетчик я беру её адрес и отдаю другим тредам они с ней работают и с первого треда проверяю результат, как только в счетчике нужное число делаю дела. Насколько это легально так использовать стековые переменные? Может быть лучше просто выделить память под этот инт и не извращаться?
Это вполне допустимо
источник

W

W in pro.cxx
Ilia Zviagin
Можно.
я читал что компилятор оперирует смещениями от начала стека, если это так тогда я не имею права передавать
источник

IZ

Ilia Zviagin in pro.cxx
W
я читал что компилятор оперирует смещениями от начала стека, если это так тогда я не имею права передавать
Ты читал какую-то херню.
Не читай такое больше
источник

W

W in pro.cxx
Ilia Zviagin
Ты читал какую-то херню.
Не читай такое больше
почему?
источник

VD

Vlad Doc in pro.cxx
W
я читал что компилятор оперирует смещениями от начала стека, если это так тогда я не имею права передавать
Найди сначала стек в стандарте)
источник

IZ

Ilia Zviagin in pro.cxx
W
почему?
Видимо, ты не знал просто, что стоит читать, а что нет
источник