2 Sep
2009
2 Sep
'09
3:16 p.m.
Comparing the types and internal memory of objects is a non-starter - an empty class is absolutley not the same as a stateless class. Take a look at this example of an empty class with state. //empty_class.hpp class empty_class { public: empty_class(); empty_class(empty_class& other); int operator()()const; }; //empty_class.cpp namespace { static std::map<const empty_class*const,int> map_; static int next_ = 0; } empty_class::empty_class() { map_[this] = next_++; } empty_class::empty_class(const empty_class& other) { map_[this] = next_++; } int empty_class::operator()()const { return map_[this]; }