C++ 学习之路

来源:互联网 发布:大数据运维管理平台 编辑:程序博客网 时间:2024/06/01 08:40

使用QT在命令控制台输出:项目—运行—-run in terminal
const关键字

const int * p =20;//p的值只能读不能写int const int * p = 20;//地址不能变,能写能读const int const *p  = 20;//地址不能变值只能读

volatile关键字
强调变量不能进行编译优化处理,之前在做嵌入式的时候经常用到

inline内联函数
作用是增加效率

引用与指针的区别

  • 指针是指向地址,而引用是那块地址的别名。
  • 指针是一个实体,而引用仅仅只是一个别名。
  • 指针在使用的时候需要加*,而引用 不会。
  • 引用只能在定义的时候被赋值,之后不能被改变。
  • 指针与引用在使用sizeof的时候由于指针仅仅是一个指向目标地址的值,所以sizeof的出来的是指针的大小,而引用由于是别名所以是原本变量的大小
  • 引用与 指针的最大区别是一个是指向地址,一个是一块地址的别名!程序为指针变量分配内存空间,而不会为引用分配空间。 -
  • 在使用++的时候也是不同的。

命名空间如果不取名字,则命名空间外不能调用。

在C语言中如果申请内存使用的是malloc ,在使用完之后需要free释放,而在C++的时候new出对象,使用delete删除内存,前者在是栈中,而后者则是在堆中。在delete中的时候,如果是new 的数组,则需要delete [] **,这样避免内存泄漏。

构造函数只能public ,这与java和c#不同,析构函数用于变量的处理,构造函数用于对变量的初始化。在构造函数的使用的时候完成对const常量的初始化,const常量只能在这里赋值。构造函数也能缺省。构造函数也能有多个,而析构函数只能有一个。

浅拷贝只是简单的赋值,如果存在有指针的情况下,则会导致出错,这时候需要深拷贝。

0 0
原创粉丝点击