int main() { /*shared_ptr<Foobar> ptrShared(new Foobar); weak_ptr<Foobar> ptrWeak(ptrShared); cout<<"weak_ptr valid:"<<(!ptrWeak.expired() ? "true" : "false")<<endl; shared_ptr<Foobar> ptrShared1 = ptrWeak.lock(); ptrShared = nullptr; cout<<"weak_ptr valid:"<<(!ptrWeak.expired() ? "true" : "false")<<endl;*/ EventDispatcher *dispatcher = new EventDispatcher; //vector<EventConnectionHolder> eventConnHolderPool; //eventConnHolderPool.push_back(dispatcher->subscribeEvent()); EventConnectionHolder connectionHolder; connectionHolder = dispatcher->subscribeEvent(); EventSlot slot(std::move(connectionHolder)); //dispatcher->subscribeEvent(); //EventSlot slot = dispatcher->subscribeEvent(); //EventConnectionHolder connectionHolder(dispatcher->subscribeEvent()); /*for(auto &holder : eventConnHolderPool) { holder.disconnect(); }*/ //connectionHolder.disconnect(); delete dispatcher; return 0; }