在C ++中返回指针实例变量

问题描述 投票:-1回答:1

我有一个命令模式类,它带有指向另一个对象的指针(我们称它为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设为私有,并且...

c++ pointers return command-pattern
1个回答
0
投票

从概念上讲,有两种指针:拥有和不拥有。

拥有指针指示拥有对象/功能拥有分配,并负责删除对象。

© www.soinside.com 2019 - 2024. All rights reserved.