【发布时间】:2010-12-25 08:59:35
【问题描述】:
尽管我是一名长期的 C 程序员,但我最近才知道可以直接将结构变量相互分配,而不是使用 memcpy:
struct MyStruct a,b;
...
a = b; /* implicit memcpy */
虽然这对 C 来说感觉有点“高级”,但它绝对有用。但是为什么我不能做相等和不等比较:
if (a == b) ...
if (a != b) ...
标准是否有充分的理由排除这一点?或者这是一个不一致的 - 否则非常优雅 - 标准?
我不明白为什么我可以替换我的 memcpy 以获得干净的任务,但我必须保留那些丑陋的 memcmp。
【问题讨论】:
-
+1 提出了一个让我受益匪浅的问题。