首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C++:'TYPE& name(&TYPE);‘是什么意思?

C++:'TYPE& name(&TYPE);‘是什么意思?
EN

Stack Overflow用户
提问于 2016-03-10 11:27:19
回答 2查看 475关注 0票数 0

由于我不太熟悉c++的新特性,这个SensorManager& mgr(SensorManager::getInstance());语句让我很困惑,我认为这是某种变量语句,但不确定。我相信这个mgr不是一个函数,因为下面的语句sp<SensorEventQueue> queue(mgr.createEventQueue());使用mgr作为对象。

SensorManager::getInstance()返回SensorManager类型实例的引用,但是SensorManager类中没有构造函数来接收引用。

我承认,这句话做了一个像SensorManager& mgr = SensorManager::getInstance();这样的动作,但这句话TYPE& name(&TYPE)到底意味着什么?这是否是复制结构与单例模式相适应的一个新特性?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-10 12:18:14

我阅读您提供的代码的方式是,有一个静态方法SensorManager::getInstance()声明如下:

代码语言:javascript
复制
class SensorManager
{
    // ....
    public:
        static SensorManager& getInstance();

    // ....
}

这将返回对SensorManager的单例实例的引用。然后使用此引用创建引用变量mgr。

所以是的,这句话:

代码语言:javascript
复制
SensorManager& mgr(SensorManager::getInstance());

等于

代码语言:javascript
复制
SensorManager& mgr = SensorManager::getInstance();
票数 1
EN

Stack Overflow用户

发布于 2016-03-10 11:31:46

SensorManager& mgr(SensorManager::getInstance()); -> --这是一种函数声明,格式如下:

返回类型function_name(参数到函数);

函数mgr接收SensorManager类型的实例并返回sensorManager实例的引用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35915152

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档