脚本宝典收集整理的这篇文章主要介绍了C++一些很基本的问题,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
今天边看 C++ PRimer 边复习关于C++的内容,因为大一的时候刚开始学软件设计的是C,然后下学期在软件设计二课上学面向对象才转到C++,所以发现对于C++的一些基本问题认识不够。
指针和引用的区别
指针是对象,而引用不是,所以有指向指针的指针而没有引用的引用,也没有指向引用的指针,指针要么指向一个对象,要么是空指针,要么是未定义指针,因为指针是对象,所以适用于对象的概念如作用域、初始化都适用于指针。
定义空指针的方式
空指针不指向任何对象
int *ptr = nullptr;
int *ptr = 0;
int *ptr = NULL;
第一种定义方式是 C++11 中新加进去的,第三种中的 NULL 是一个常量预处理变量(宏),喜欢第一种,因为有更纯的类型的概念在里面。
What exactly is nullptr?
C/C++ 中 0 与 NULL 区别是什么?用 delete 时,用 p=0,还是用 p=NULL 好?为什么?
初始化
初始化不是赋值。如果不进行初始化,变量定义出现在不同的位置,产生的效果是不一样的。C++11 中为每一个对象都加入了初始化列表的初始化方式,但要注意的是下面第三行这种情况是编译不过的:
double FromDouble = { 66.98 };
int toInt = fromDouble;
// int toIntWrong{ fromDouble };
同样是prefer用初始化列表的方式进行初始化。
Why is list initialization (using curly braces) better than the alternatives?
字面值
这个概念之前一直都是模模糊糊的,理解 lITeral 英文就好了。
以上是脚本宝典为你收集整理的C++一些很基本的问题全部内容,希望文章能够帮你解决C++一些很基本的问题所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。