Comparando estructuras en C vs C ++

Quiero comparar los objetos de clase / estructura de C ++. En C, la mayoría de las veces, se sabe el tamaño exacto de lastruct sumando los tamaños de los campos individuales (asumiendo que el compilador no agrega relleno). Por lo tanto, uno puede usar la función memcmp () en dos objetos para compararlos muy rápido. No estoy seguro de si lo mismo funciona para C ++. Esto se debe a que una clase también tiene definiciones de funciones y tal vez algunas otras cosas ocultas (¿quizás algo de información RTTI? ¿Incluso una tabla de funciones virtuales?)

Un programa rápido con una estructura simple que contieneint ychar Los miembros y una función mostraron que el tamaño de la estructura erasizeof(int)+sizeof(char).

Tengo una clase de estructura grande con tipos de datos int, char, etc. (pero un gran número de ellos). Quiero comparar objetos de vez en cuando. No puedo sobrecargar el== Como operador los hará comparar cada campo por campo. En C, puedo comparar de una sola vez usandomemcmp(). ¿Alguna sugerencia para C ++? Puedo usarmemcmp() ¿directamente? No quiero que memcmp () falle porque algún otro valor, como la tabla de punteros de funciones virtuales, es diferente (pero todos los campos son iguales) (estoy usando g ++)

Respuestas a la pregunta(5)

Su respuesta a la pregunta