- #include <type_traits> 
- #include <iostream> 
-   
- struct Foo { 
-   Foo() : x(0), y(0) {} 
-   int x; 
-   int y; 
- }; 
-   
- struct Bar { 
-   Bar() = default; 
-   int x; 
-   int y; 
- }; 
-   
- // Apparently the following two lines are not "static initialization" because 
- // Foo is non-POD yet we can still do this: 
- Foo f; 
- Bar b; 
-   
- int main() 
- { 
-     if (std::is_pod<Foo>::value) std::cout << "Foo is a POD" << std::endl; 
-     else                         std::cout << "Foo is *not* a POD" << std::endl; 
-   
-     if (std::is_pod<Bar>::value) std::cout << "Bar is a POD" << std::endl; 
-     else                         std::cout << "Bar is *not* a POD" << std::endl; 
- } 
				I2luY2x1ZGUgPHR5cGVfdHJhaXRzPgojaW5jbHVkZSA8aW9zdHJlYW0+CgpzdHJ1Y3QgRm9vIHsKICBGb28oKSA6IHgoMCksIHkoMCkge30KICBpbnQgeDsKICBpbnQgeTsKfTsKCnN0cnVjdCBCYXIgewogIEJhcigpID0gZGVmYXVsdDsKICBpbnQgeDsKICBpbnQgeTsKfTsKCi8vIEFwcGFyZW50bHkgdGhlIGZvbGxvd2luZyB0d28gbGluZXMgYXJlIG5vdCAic3RhdGljIGluaXRpYWxpemF0aW9uIiBiZWNhdXNlCi8vIEZvbyBpcyBub24tUE9EIHlldCB3ZSBjYW4gc3RpbGwgZG8gdGhpczoKRm9vIGY7CkJhciBiOwoKaW50IG1haW4oKQp7CiAgICBpZiAoc3RkOjppc19wb2Q8Rm9vPjo6dmFsdWUpIHN0ZDo6Y291dCA8PCAiRm9vIGlzIGEgUE9EIiA8PCBzdGQ6OmVuZGw7CiAgICBlbHNlICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZDo6Y291dCA8PCAiRm9vIGlzICpub3QqIGEgUE9EIiA8PCBzdGQ6OmVuZGw7CgogICAgaWYgKHN0ZDo6aXNfcG9kPEJhcj46OnZhbHVlKSBzdGQ6OmNvdXQgPDwgIkJhciBpcyBhIFBPRCIgPDwgc3RkOjplbmRsOwogICAgZWxzZSAgICAgICAgICAgICAgICAgICAgICAgICBzdGQ6OmNvdXQgPDwgIkJhciBpcyAqbm90KiBhIFBPRCIgPDwgc3RkOjplbmRsOwp9