Garantia C ++ e nome para dados do tipo POD, com capacidade para memcpy
Noutroquestã Utilizei incorretamente o termo POD para me referir a tipos de dados que não são realmente tipos de POD (por conta de ter um construtor). Agora, examinei o padrão e não consegui encontrar um nome adequado para o que quero. Também não posso garantir que a cópia seja realmente permitid
O tipo de dados que eu quero dizer é um POD, mas pode conter funções, incluindo construtores, mas nada que deva alterar suas características de alinhamento ou tamanho quando comparado a um tipo de POD equivalent
Na seção 3.9 da norma, afirma que os dados do POD podem ser copiados com o memcpy, para outro objeto ou para dados de caracteres e vice-versa. Essa garantia nunca é feita de dados que não sejam de POD.
No entanto, oepresentação do objeto de um objeto é definido na mesma seção. É definido de tal forma que se acredita que dois objetos do mesmo tipo possam ser copiados com segurança via memcp
Então minhas perguntas são:
A cópia com memcpy é realmente garantida para esses objeto Se sim, então por que há uma nota especial sobre memcpy e PO Existe um nome para este tipo de dados que seja seguro para memcpUm exemplo simples do tipo de objeto que eu quero dizer:
struct ex_struct
{
int a,b,c,d;
ex_struct() : a(123) { }
}
Lendo o rascunho C ++ 0x, minha estrutura pareceria um classe trivialmente copiável (9.1). Eu acredito que isso implica que memcpy seria segur