由于我不太熟悉c ++的新功能,因此此SensorManager& mgr(SensorManager::getInstance());
语句使我很困惑,我认为这是一种变量语句或某种不确定的东西。我相信此mgr
不是函数,因为以下语句sp<SensorEventQueue> queue(mgr.createEventQueue());
使用mgr
作为对象。SensorManager::getInstance()
返回SensorManager类型实例的引用,但是SensorManager类中没有构造函数可接收引用。
据我所知,该语句的作用类似于SensorManager& mgr = SensorManager::getInstance();
,但是TYPE& name(&TYPE)
语句到底意味着什么?这是复制构造的新功能以适合单例模式吗?
最佳答案
我阅读提供的代码的方式是,有一个静态方法SensorManager :: getInstance()声明如下:
class SensorManager
{
// ....
public:
static SensorManager& getInstance();
// ....
}
并返回对SensorManager的单例实例的引用。然后,该参考用于创建参考变量mgr。
所以是这样:
SensorManager& mgr(SensorManager::getInstance());
相当于
SensorManager& mgr = SensorManager::getInstance();
关于c++ - C++:语句“TYPE&name(&TYPE);”的作用是什么意思?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35915152/