我有一个命令模式类,它带有指向另一个对象的指针(我们称它为Duck)。它的子类将使用Duck,但是要控制和跟踪何时使用Duck(用于调试),我将Duck设为私有,并且子类只能通过方法getDuck()来获取它。
class Command { private: Duck* target; public: //Parametrized Constructor Command(Duck* _target); Duck* getDuck() { return target; } ... };
我最近在Effective C ++]中学习了斯科特·迈尔斯(Scott Myers)的返回指针的恐怖。我尝试仅返回解引用的版本,但这导致返回目标副本。我(应该有办法)简单地返回Duck对象而不是指向它的指针吗?
我有一个命令模式类,它带有指向另一个对象的指针(我们称它为Duck)。它的子类将使用Duck,但是要控制和跟踪何时使用Duck(用于调试),我将Duck设为私有,并且...
从概念上讲,有两种指针:拥有和不拥有。
拥有指针指示拥有对象/功能拥有分配,并负责删除对象。