引用语法上不占内存
临时变量不是左值,不能取地址,
c++0x新特性:右值引用
移动用于构造和赋值
-----------------------------------
| lvalue const(x&) non-const(x&) |
| rvalue const(x&&) non-const(x&&)|
单例模式举例:
#ifndef SINGLETON_H
#define SINGLETON_H
class CSingleton
{
public:
static CSingleton * GetInstance()
{
if(m_pInstance == NULL) //判断是否第一次调用
m_pInstance = new CSingleton();
return m_pInstance;
}
private:
CSingleton() //构造函数是私有的
{
}
static CSingleton *m_pInstance;
};
CSingleton *CSingleton::m_pInstance = NULL;//static类成员只能在类外初始化,因为只有一个
#endif#include "singleton.h"
using namespace std;
int main(int argc,char* argv[])
{
CSingleton *p = CSingleton::GetInstance();
//delete p;
return 0;
}
本文深入探讨了C++中右值引用的特性及其在构造和赋值过程中的应用,并通过单例模式的例子展示了如何利用右值引用优化代码效率。同时,详细解释了单例模式的基本概念和实现方式。

2670

被折叠的 条评论
为什么被折叠?



