c++基础杂记
来源:互联网 发布:有限元分析用什么软件 编辑:程序博客网 时间:2024/05/22 12:08
1.左值与右值
左值:L-value中的L指的是Location,表示可寻址。左值可以表示对象,即具有对应的可以由用户访问的存储单元。左值表示存储在计算机内存的对象,即“可寻址值”。也就是可以用&来取地址的对象是左值。
右值:R-value中的R指的是Read,表示可读。指的是引用了一个存储在某个内存地址里的“数据”。
所以左值又可以归纳为:左值表示程序中必须有一个特定的名字引用到这个值。而右值引用的是地址里的内容,所以相反右值又可以归纳为:右值表示程序中没有一个特定的名字引用到这个值除了用地址
2.NULL和nullptr
c++11之前只有NULL来表示指针为空 也就是‘0’,c++11加了nullptr来表示空指针。(从理解上表述)两者的不同在于NULL的类型是int,nullptr的类型是指针,恰好空指针的值是‘0’和NULL相等,所以两者看上去很像。但是值相同类型不同这是区分二者的关键。例如http://www.cnblogs.com/feng-sc/p/5710724.html文章1.2节
class Test{public: void TestWork(int index) { std::cout << "TestWork 1" << std::endl; } void TestWork(int * index) { std::cout << "TestWork 2" << std::endl; }};int main(){ Test test; test.TestWork(NULL); test.TestWork(nullptr);}
运行记过结果分别是TestWork 1,TestWork 2。
阅读全文
0 0
- 嵌入式C语言基础—杂记一
- C杂记
- java基础杂记
- C++基础杂记
- linux学习基础杂记
- Java基础杂记
- JavaScript基础杂记
- java基础杂记(一)
- c++基础杂记
- java基础杂记001
- 网络基础杂记
- C#-杂记(临时)
- C杂记(1)
- C杂记(1)
- C杂记 (2)
- 51C语言杂记
- c语言杂记
- C语言杂记
- Linux下获取文件大小,检索目录函数
- DelayedOperation分析
- eclipse 快捷键失效 Ctrl+S Ctrl+F Ctrl+Z
- input子系统基础之按键1——什么是input子系统?
- 两数之和
- c++基础杂记
- php开源项目 http://www.phpky.cn/ [记录]
- windows10 环境下 opencv3.0.0+opencv_contrib重编译
- linux nginx配置https
- codeblocks配置cuda
- DelayedProduce分析
- ESB安装
- DOS命令里面的EQ、NE、GT、LT、GE、LE分别是什么意思
- Oracle常用命令大全