而?:条件运算符要求如果操作数是一个类型的两个指针值，那么它们应当是兼容的类型。所以第三个操作数虽然不会被使用，但编译器要检查codice_1与codice_2是不是兼容的指针类型。
局限性.C++03要求offsetof限于POD类型。C++11要求offsetof限于标准布局类型， 但仍存在未定义行为。特别是虚继承情形。下述代码用gcc 4.7.3 amd64编译器，产生的结果是有问题的:struct Astruct B: public virtual Aint