C++进阶
文章平均质量分 89
学习C++的进阶知识,C++11特性等
编程小镇
贵有恒何必三更眠五更起,最无益只怕一日曝十日寒。
展开
-
C++进阶(四)const、volatile、mutable关键字
C++进阶(四)const、volatile、mutable关键字const 关键字用法用法一:const在类中的使用用法二:常量引用用法三:常量指针volatilemutable巨人的肩膀 const 关键字用法 C语言中,可以使用#define 定义常量,编译器在预处理阶段直接将宏替换,在C++中,使用const 关键字来定义常量,如常量字符串等。常量存放在常量区(常量区只读不可写)。const 常量在运行时被操作系统载入常量区,属于运行时常量。 C++ 中 const 有以下几种用法:c原创 2021-01-08 13:21:19 · 244 阅读 · 0 评论 -
C++进阶(三)static 关键字
C++进阶(三)static 关键字在作用域上,限定其作用范围在内存方面,存储在静态存储区类中的静态成员函数和成员变量 在作用域上,限定其作用范围 对于全局变量和函数来说,使用 static 修饰,使得其仅在当前文件中可见,在其他的文件中不可见。 // static.c static int g_c_staVal; int g_c_Val; // use_static.c #include <iostream> using namespace std; extern int g_c_原创 2021-01-05 21:26:28 · 128 阅读 · 0 评论 -
C++进阶(二)四种类型转换(static_cast, const_cast, dynamic_cast, reinterpret_cast)
C++进阶(二)四种类型转换(static_cast, const_cast, dynamic_cast, reinterpret_cast)static_cast 类型转换const_cast 类型转换reinterpret_cast 类型转换dynamic_cast 类型转换巨人的肩膀 在 C 语言中,如果要对类型进行转换,直接使用强制类型转换。这种转换使得表达式的精度有所损失,会出现一些未定义错误。这种强制转换方式有如下缺点: 任何类型都能进行强制转换,编译器很难判断其正确性 在源码中,无法定原创 2021-01-04 19:10:00 · 283 阅读 · 0 评论 -
C与C++异同
C与C++异同变量及函数Struct 增强bool 类型与三目运算符const增强 变量及函数 全局变量检测增强 函数定义要求更为严格 参数类型检测:C 语言中,对于参数类型检测不严格,而 C++ 严格检测参数类型 是否返回值类型:在 C 语言中,定义函数有返回值,在函数结束未返回,程序正常运行;在 C++ 中,若声明有返回值,不返回返回值则编译不通过。 函数调用参数检测 类型转换检测增强 C 语言中,void* 可以表示任何类型指针 C++ 中,必须强制转换 void getSpace()原创 2020-12-27 11:10:01 · 228 阅读 · 1 评论 -
C++进阶(一)之命名空间
C++进阶之命名空间命名空间的定义命名空间的三个特性可开放性可嵌套性可匿名性可内联性两种使用命名空间成员的方式`using` 声明`using` 指示参考 Namespaces provide a method for preventing name conflicts in large projects. 命名空间的定义 命名空间是由关键字 **namespace ** 和一对花括号 {} 组成。 可以出现在 全局作用域 中的声明都可以在 namespace 内出现,包括类、变量、函数、模版和原创 2020-12-27 11:01:05 · 270 阅读 · 0 评论