使用getter访问成员变量C ++ [重复]

问题描述 投票:0回答:2

如果我的头文件中有此场景的私有地图,则为>]

std::map<std::string, Scene> scenes;

我的公众获取者应该是这样吗?

std::map<std::string, Scene>* getScenes() { return &scenes; }

仍然使我的头转向c ++中的指针,因此如果它看起来像一个愚蠢的问题,则表示歉意

如果我的头文件std :: map <:string scene>场景中有这个场景的私有地图,我的公众获取者应该是这样吗? std :: map <:string scene>* getScenes(){return&...

c++ pointers getter
2个回答
0
投票

除非您需要,否则将指针返回未存储为指针的成员不是一个好主意。传递指针可能会变得混乱,例如如果原始对象超出范围,则最终会出现悬空指针。通过const引用返回应该是您的第一个调用端口:


1
投票

考虑到您可以通过引用返回,使用指针很少是一个好主意。

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