#include <cstddef>
#include <iomanip>
#include <iostream>
#include <type_traits>

struct S1 {
    ~S1(){}
    int a;
    char b;
};

struct S3 : S1 {
    char c;
};

int main()
{
	std::cout << sizeof(S1) << "\n";
	std::cout << sizeof(S3) << "\n";
	std::cout << std::boolalpha << std::is_standard_layout<S1>::value << "\n";
	std::cout << std::boolalpha << std::is_standard_layout<S3>::value << "\n";
	//std::cout << std::boolalpha << std::is_trivially_copyable<S1>::value << "\n";
	//std::cout << std::boolalpha << std::is_trivially_copyable<S3>::value << "\n";
}