Dana jest klasa Integer z konstruktorem bezargumentowym :
Integer() { }
W tej klasie nie ma zdefiniowanego jawnie operatora() - jest on zdefiniowany niejawnie? Pytam, bo:
const string INTEGER_OBJECT_NAME = typeid(Integer{}).name();
const string INTEGER_OBJECT_NAME_1 = typeid(Integer()).name();
cerr << " typeid(Integer{}).name(); = " << INTEGER_OBJECT_NAME << '\n';
cerr << " typeid(Integer()).name(); = " << INTEGER_OBJECT_NAME_1 << '\n';
W konsoli w strumieniu bledow wynik:
typeid(Integer{}).name(); = N13integer_space7IntegerE
typeid(Integer()).name(); = FN13integer_space7IntegerEvE
na poczatku myslalem ze wynik bedzie identyczny