簡體   English   中英

具有嵌套結構/類的POD-ness

[英]POD-ness with nested structs/classes

我有一個關於POD程度的問題。 我期望如果B是非POD並且B是A的成員,那么A也將是非POD。 但是,以下代碼示例輸出“ 10”,因此B被正確地認為是非POD,而A被認為是非POD。

struct A
{
    int i;
    struct B
    {
        std::string s;
    };
};
std::cout << std::is_pod<A>::value;
std::cout << std::is_pod<A::B>::value;

這是GCC中的錯誤嗎? 我正在使用“ c ++(GCC)7.3.1 20180312”。 我看不到這種行為的意義。 可以說我想優化緩沖區分配並使用POD檢查,以確定我是否必須對特定類型使用new或可以使用malloc / realloc。 使用malloc為A分配存儲空間是完全錯誤的。

A具有類型A::B

A實例中沒有A::B實例。 只有類型的定義,而沒有實例化。

B b; A ,您的異常消失了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM