2
第二類不是標準佈局的原因是什麼? (Visual Studio的C++)標準佈局和繼承
#include <iostream>
#include <type_traits>
struct A
{
int i;
};
struct B : public A
{
};
std::cout << "is_standard_layout<B> == "
<< std::boolalpha
<< std::is_standard_layout<B>::value // gives false
<< std::endl;
看來Visual Studio 10不支持像is_standard_layout這樣的類。 GCC 4.6工作。 – mazatwork
std :: is_standard_layout <>應該做什麼?我還沒有找到有關此功能的非常多文檔。 –
@Stephane:這是一個metamethod,它返回一個類是否是標準佈局。 [Wikipedia article](http://en.wikipedia.org/wiki/C%2B%2B0x#Modification_to_the_definition_of_plain_old_data)對這意味着什麼進行了徹底的討論。 –