NUOSFERATU

C++ 强制类型转换

继承自 C 语言的强制类型转换,存在以下不足: 没法从形式上体现类型转换的目的或者说功能,让人一眼能看出来是什么用途,遇到问题也没法根据问题类型进行针对性搜索,也看不出来是否有风险,风险类型又是什么 不做转换后的类型检查,安全由开发人员自行负责 于是 C++ 提供了四种不同的强制类型转换,方便根据不同情况选用不同的强制类型转换,方便阅读和排查问题,很多情况还都会触发编译报错或...

static

static 在变量和函数中的使用 局部变量 默认情况下,变量的存储位置是栈,作用域是局部作用域,生命周期就是在作用域内,作用域结束就销毁。 用 static 修饰后,变量的存储位置变成了静态区,作用域没有变化,还是局部作用域,但是,初次调用到函数完成初始化,生命周期被延长,一直持续到程序结束,离开作用域并不会被销毁,后面再调用到该函数时,变量还是那个值,这叫 “可重入性”。 全局变...

const

总体来说,const 就是限定符,表明不可修改,更容易阅读、维护,更安全。 常量 取代了 C 语言里面的宏定义。 存储在常量区,编译器甚至可以不给它分配空间,如果编译器已经知道了常量的值,而且足够简单,不需要分配空间,可把代码优化掉。 指针 const 修饰指针类型,表示限定不可以修改指向的原始对象,不可以给非 const 指针类型赋值。 const 修饰指针名,表示指针本身不可...