C++:声明'TYPE& name(&TYPE);'是什么意思?
C++: what does statement 'TYPE& name(&TYPE);' mean?
由于我对 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();
// ....
}
并且这将返回对传感器管理器的单一实例的引用。然后,此引用用于创建引用变量 mgr。
所以是的,这条线:
SensorManager& mgr(SensorManager::getInstance());
相当于
SensorManager& mgr = SensorManager::getInstance();
SensorManager& mgr(SensorManager::getInstance());
-> 这是以下格式的函数声明:
返回类型 function_name(参数到函数);
函数 mgr
接收类型 SensorManager
的实例,并返回 sensorManager
的实例的引用
相关文章:
- "type* = nullptr"的含义是什么
- 警告的原因是什么:"when type is in parentheses, array cannot have dynamic size"?
- C++ - "Incomplete type not allowed"错误是什么意思,我该如何修复它?
- 这是什么意思:"member reference type 'Human *' is a pointer; did you mean to use '->'?"
- C++ 中数组的"expression must have pointer-to-object type"是什么?
- "conversion from void to non scalar type string"是什么意思?
- 在 LLVM 中,调用中函数的位播"type"是什么?如何访问此功能?
- C++中的"vector<type[n]>"是什么?
- "type-safety"在C++中的确切含义是什么?
- 在OpenCV中,std::vector而不是cv::Mat的"type"是什么解释,我该如何更改它?(C++)
- c++ 声明中的 ::type 是什么意思
- "Cannot overload functions distinguished by return type alone"是什么意思?
- cmake -D <var>:<type>=<value> 参数"-D"是什么意思
- C++:声明'TYPE& name(&TYPE);'是什么意思?
- 这个错误是什么意思" expression must have pointer-to-class type"?
- 错误是什么意思"expression must have class type"?
- 'must have an argument of class or enumerated type'到底是什么意思
- "Expected '(' for function-style cast or type construction"错误是什么意思?
- &Type::变量是什么意思?
- C ++与"pointer = new type []"相比,"pointer = new type"是什么?