9

C ++の参照型もPOD型ですか? int&PODタイプですか?そして何について

struct Q { int& i; }

誰でも私を助けることができますか?

4

3 に答える 3

6

コンパイル時にそれを判断する標準的な方法 (C++11 を使用) があります。

#include <iostream>
#include <type_traits>

struct Q
{
    int& i;
};

int main()
{
    std::cout << std::is_pod<int>::value << "\t";
    std::cout << std::is_pod<int&>::value << "\t";
    std::cout << std::is_pod<Q>::value << "\n";
}

デモ: http://ideone.com/PECzfT

出力は 1 0 0 になるため、int へ参照は POD ではありません。

于 2013-10-02T18:30:01.010 に答える