2014-10-02 57 views
2

標準是否說sizeof(std::atomic<T>)等於sizeof(T)? (我正在研究建立原子類型和其他類型的聯合,以便在ABI中使用,理想情況下不應該有STL類型,如果大小相同,那麼這可以工作)。原子類型的大小

+4

我會說不。看看'std :: atomic :: is_lock_free()'。如果需要鎖定,則該句柄可能需要存儲在'std :: atomic '對象中。 – cdhowie 2014-10-02 15:24:14

回答

6

[atomics.types.generic]/P9

注:原子專業化的表示不需要具有大小作爲其對應 參數類型相同。專業化應儘可能具有相同的大小,因爲這減少了端口現有代碼所需的努力

不,您不能這樣假設。這是一個盡最大努力努力,但沒有保證。