Size: a a a

2020 June 05

AT

Anatoly Tomilov in pro.cxx
Ilia Zviagin
Ну, если объект standard layout или pod по старому, то можно и так, без конструкторов работать...
то есть одного reinterpret_cast достаточно?
источник

IZ

Ilia Zviagin in pro.cxx
Anatoly Tomilov
то есть одного reinterpret_cast достаточно?
В общем, да, но надо знать детали
источник

AT

Anatoly Tomilov in pro.cxx
источник

OS

Oleksandr Senkovych in pro.cxx
чот я не нашел упоминания о lifetime нигде из этих ссылок
источник

OS

Oleksandr Senkovych in pro.cxx
ну кроме new
источник

AT

Anatoly Tomilov in pro.cxx
там про какой-то implicit lifetime для массивов char, unsinged char и std::byte только
источник

OS

Oleksandr Senkovych in pro.cxx
в ссылке про standard layout там больше про reinterpret_cast одного обьекта в другой если у них совместимый layout.
источник

OS

Oleksandr Senkovych in pro.cxx
но в этом случае lifetime уже начат
источник

ПК

Побитый Кирпич... in pro.cxx
Короче, юзайте placement new и memcpy или ждите С++23.
источник

OS

Oleksandr Senkovych in pro.cxx
Побитый Кирпич
Короче, юзайте placement new и memcpy или ждите С++23.
а чо в 23?
источник

ПК

Побитый Кирпич... in pro.cxx
Oleksandr Senkovych
а чо в 23?
Думаю там функция, которой ты получаешь шаренную память будет считаться начинающей lifetime, placement new делать уже не надо будет (возможно memcpy тоже, но тут уже не так уверен)
источник

АК

Александр Караев... in pro.cxx
/paper@cppaperbot 0593
источник

p

paperbot_cpp in pro.cxx
For the request "0593":
P0593R0: What to do with buffers that are not arrays, and undefined behavior thereof? from Ville Voutilainen
https://wg21.link/p0593r0

P0593R1: Implicit creation of objects for low-level object manipulation from Richard Smith, Ville Voutilainen
https://wg21.link/p0593r1

P0593R2: Implicit creation of objects for low-level object manipulation from Richard Smith
https://wg21.link/p0593r2

P0593R3: Implicit creation of objects for low-level object manipulation from Richard Smith
https://wg21.link/p0593r3

P0593R4: Implicit creation of objects for low-level object manipulation from Richard Smith
https://wg21.link/p0593r4

P0593R5: Implicit creation of objects for low-level object manipulation from Richard Smith
https://wg21.link/p0593r5

P0593R6: Implicit creation of objects for low-level object manipulation from Richard Smith, Ville Voutilainen
https://wg21.link/p0593r6
источник

AD

Andrey Davydov in pro.cxx
Мне кажется, разговору более релевантно wg21.link/p0593
Как я понимаю из его прочтения, если функция, создающая шаренную память является implementation-defined implicitly creating objects, то можно reinterpet_cast-ить, если нет — то нужно вызывать std::start_lifetime_as. Естественно, речь идет о trivially default constructible & trivially destructible типах, иначе ничего не поможет.
источник

OS

Oleksandr Senkovych in pro.cxx
Andrey Davydov
Мне кажется, разговору более релевантно wg21.link/p0593
Как я понимаю из его прочтения, если функция, создающая шаренную память является implementation-defined implicitly creating objects, то можно reinterpet_cast-ить, если нет — то нужно вызывать std::start_lifetime_as. Естественно, речь идет о trivially default constructible & trivially destructible типах, иначе ничего не поможет.
что такое function implementation-defined implicitly creating objects? я впервые слышу о таком свойстве функций
источник

AD

Andrey Davydov in pro.cxx
Oleksandr Senkovych
что такое function implementation-defined implicitly creating objects? я впервые слышу о таком свойстве функций
Описывается в proposal-е по ссылке из моего сообщения
источник

AD

Andrey Davydov in pro.cxx
Об это же proposal-е говорит @top1pogromist
источник

OS

Oleksandr Senkovych in pro.cxx
А вот еще вопрос. Допустим у меня в той же шаред памяти есть integer на котором я делаю atomic cas для синхронизации. Мне ведь не нужно его обьявлять как volatile?
источник

CD

Constantine Drozdov in pro.cxx
Is volatile useful with C and C++ threads?
http://isvolatileusefulwiththreads.in/C++/
источник

AB

Artöm Bakri Al-Sarmi... in pro.cxx
Constantine Drozdov
Is volatile useful with C and C++ threads?
http://isvolatileusefulwiththreads.in/C++/
Увидел ровно то, что ожидал
источник