
C/C++知识整理专栏
文章平均质量分 89
暗夜无风
专注python/pytorch/ML/DL知识分享,兼顾C/C++/Java知识
展开
-
C++知识整理系列(五)—— auto自动类型
目录一、概念二、auto推导的类型三、案例迭代器iterator访问函数返回值和参数为auto四、总结参考一、概念在C++11引入了auto类型说明符,其作用:编译器替我们去分析表达式所属的类型。auto让编译器根据其初始值来推断变量的类型。在一些弱类型语言如JavaScript中,用var定义变量而无需指定特定的数据类型;而在C++则是由编译器根据初值判断变量类型。auto x = 3.14;编译根据3.14推断出x是double类型。可以使用typeid检查数据类型:cout <原创 2021-07-30 16:57:01 · 1802 阅读 · 1 评论 -
C++知识整理系列(四)—— explicit隐式转换
目录一、概念二、例子三、总结四、参考一、概念C++提供了关键字explicit,可以阻止不应该允许的经过转换构造函数进行的隐式转换的发生。声明为explicit的构造函数不能在隐式转换中使用。在我们写程序的时候很少用到explicit关键字,但是在C++标准库里explicit在类中出现频率是很高的,其重要的意义是:阻止隐式转换的发生。比如,C++使用string的时候,我们常常这么做:string s = "abc";,这其实就是进行了隐式转换,等同于string s("abc");,这样做和原创 2021-07-29 15:48:26 · 641 阅读 · 0 评论 -
C++知识整理系列(三)—— constexpr常量表达式
const修饰常量,但是const并未区分编译时常量和运行时常量,而constexpr则只能是编译时常量,在C++11中提出。这篇文章,将详细讲解constexpr。一、常量表达式常量表达式(const expression):指值不会改变并且在编译阶段过程就能得到计算结果的表达式。以下两种是常量表达式:const int maxSize = 10;const int limit = maxSize + 1;以下两种不是常量表达式:int staff_size = 27;cons..原创 2021-07-20 16:23:29 · 5467 阅读 · 10 评论 -
C++知识整理系列(二)令人头疼的const
const修饰常量,这是总所周知的事情。但是,你可能会遇到以下头疼的问题:const int *是指针常量,int * const是常量指针,那么int const * 和 const int const *呢?本篇文章将深入分析const。目录一、const基础概念二、const修饰变量三、const操作四、const对象的作用域为什么const对象仅在单个文件内生效?如何实现多文件共用?五、const的引用(1)初始化常量引用时允许用任意表达式作为初始值(2)对const的引用可能引用一个..原创 2021-07-15 22:04:45 · 343 阅读 · 26 评论 -
C++知识整理系列(一)指针和动态空间
目录1.指针和引用2. 函数指针和指针函数指针函数函数指针3. C/C++ volatile关键字4. 易混淆的指针概念5. 虚函数表和虚函数指针6. new / delete 和 malloc / free 的区别与联系相同点区别new和delete的实现机制delete 和 delete []7. C++模板强类型和弱类型模板的提出问题:C++模板是在编译阶段还是运行阶段?1.指针和引用指针是一个变量,变量存储(的内容)的是一个地址;而引用是某个变量的别名,实质上和原变量是同一个东西。指针和引用存原创 2021-07-13 16:03:22 · 659 阅读 · 30 评论