Perguntas com a marcação «language-lawyer»

9
Tentando entender modelos e pesquisa de nome

Estou tentando entender os seguintes trechos de código Snippet # 1 template <typename T> struct A { static constexpr int VB = T::VD; }; struct B : A<B> { }; Nem o gcc9 nem o clang9 lançam um erro aqui. P. por que esse código é compilado? Não estamos instanciando A<B>ao...

9
Criação de objeto implícito não especificado

Como a criação implícita de objetos P0593 para manipulação de objetos de baixo nível foi aceita, agora os objetos podem ser criados implicitamente no C ++ 20. Especificamente, o texto introduzido pela proposta permite que certas operações (como std::malloc) criem e iniciem automaticamente a vida...

8
O uso de reinterpret_cast em um buffer de memória UB?

Dado o código struct A {}; auto obj = new A; std::vector<unsigned char> buffer; buffer.resize(sizeof(obj)); std::memcpy(buffer.data(), &obj, sizeof(obj)); // this copies the pointer, not the object! // ... auto ptr = *reinterpret_cast<A**>(buffer.data()); // is this UB? delete...