我想比较C++类/结构对象.在C中,大多数时候,人们struct
通过将各个字段的大小相加来知道确切的大小(假设编译器不添加填充).因此可以在两个对象上使用memcmp()函数来非常快速地比较它们.我不确定C++是否适用.这是因为一个类也有函数定义,也许还有一些其他隐藏的东西(也许是一些RTTI信息?虚拟函数表甚至?)
用含有简单结构的快速程序int
和char
部件以及功能显示,该结构的大小为sizeof(int)+sizeof(char)
.
我有一个大的struct类,包含简单的int,char等数据类型(但是有很多).我想不时地比较对象.我不能重载==
运算符,因为它会使它们按字段比较每个字段.在C中,我可以一次性比较使用memcmp()
.有关C++的任何建议吗?我可以memcmp()
直接使用吗?我不希望memcmp()失败因为虚拟函数指针表之类的其他值不同(但所有字段实际上都相等)(我正在使用g ++)