メモ
多分rvoっていう事で話は終わった。
#include <iostream> #include <typeinfo> #include <cxxabi.h> using namespace std; char* demangle(const char *demangle) { int status; return abi::__cxa_demangle(demangle, 0, 0, &status); } /* Sはあらゆる方法で生成出来ないようにしたい修造体 */ struct S{ const static int v = 0; int v_; private: S(); S(const S&); S(S&&); S& operator=(const S&); S& operator=(S&&); }; S makeS(){} int hoge(){return 72;} void getS(S s = makeS()) { printf("getS.s = %p\n",&s); } int main() { cout << sizeof(makeS()) << endl; cout << demangle(typeid(makeS()).name()) << endl; //getS(makeS()); getS(); return 0; }