引用语法上不占内存
临时变量不是左值,不能取地址,
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;
}