如果標準規定它只是爲POD類型定義的(我還沒有仔細檢查過C++ 11標準,所以我不知道你的爭用是否正確(a))和你做一個非POD類型,它沒有定義的行爲。期。
在一些實現中,在行星對齊時的某些環境中,它可能在一天中的某些時間工作。它可能工作絕大多數時候。如果你重視可移植性,那麼這仍然不是一個好主意。
(一)更多的調查後,它將顯示你的具體情況是好的。該標準的第3.9/3(n3242 draft,但我會感到驚訝,如果它已經從這麼晚草案太大的改變)指出:
對於任何平凡複製的類型T,如果兩個指針至T點不同ŧ對象obj1和obj2其中,obj1和obj2都不是基類子對象,如果組成obj1的基礎字節被複制到obj2中,則obj2將隨後保持與obj1相同的值。
第九節定義(在高電平)什麼是「平凡能夠複製」是指:
甲平凡能夠複製類是一類:
- 不具有非平凡複製構造(12.8) ,
- 沒有非平凡的舉動構造函數(12.8),
- 沒有非平凡的拷貝賦值運算符(13.5.3,12.8),
- 沒有非平凡的舉動賦值運算符(13.5.3, 12.8)和
- 有一個微不足道的析構函數(12.4)。
與引用的部分進入更詳細地在每個區域中,12.8
用於複製和分配用於移動類對象和13.5.3
。
相關:http://stackoverflow.com/questions/4178175/what-are-aggregates-and-pods-and-how-why-are-they-special/7189821#7189821 –