草庐IT

MonkeyFish

全部标签

c++ - 工厂模式与全局状态不是一回事吗?

假设我有这样一个类:classMonkeyFish{MonkeyFish(GlobalObjectA&a,GlobalObjectB&b,GlobalObjectC&c);private:GlobalObjectA&m_a;GlobalObjectB&m_b;GlobalObjectC&m_c;}没有工厂,我需要执行以下操作才能实例化MonkeyFish。GlobalObjectAa;GlobalObjectBb;GlobalObjectCc;intmain(){MonkeyFish*monkey_fish=newMonkeyFish(a,b,c);monkey_fish->go();

c++ - 什么时候通过引用传递不是一个好主意?

这是一个我从未真正理解过的内存分配问题。voidunleashMonkeyFish(){MonkeyFish*monkey_fish=newMonkeyFish();std::stringlocalname="Wanda";monkey_fish->setName(localname);monkey_fish->go();}在上面的代码中,我在堆上创建了一个MonkeyFish对象,为其分配了一个名称,然后将其释放到世界上。假设已分配内存的所有权已转移到MonkeyFish对象本身-只有MonkeyFish本身会决定何时死亡和删除自己。现在,当我在MonkeyFish类中定义“name