![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
慢半拍的猿
这个作者很懒,什么都没留下…
展开
-
c++管理虚方法之override和final
零,背景c++中,多态的核心,就是希望通过基类访问派生类中重写(overload)的虚方法,来实现不同派生类的不同响应。但虚方法带来一些编程陷阱。如,派生类中继承了基类的虚方法,提供了不同的版本,将会出现隐藏(shadow),覆盖旧版本。如下:class Base{public: virtual void func(char ch) const {}};class Bingo: public Base{public: virtual void func(char *ch.原创 2020-06-30 12:30:03 · 384 阅读 · 0 评论 -
c++的常量折叠
何谓常量折叠?常量折叠就是将常量表达式计算求值,并用求得的值来替换表达式,放入常量表。可以算作一种编译优化。(预编译阶段)接下来我们通过一段代码来分析一下了解一下常量折叠及其特性:int main(){ const int a = 10; int b = 2*a; int c = b; int *p = (int*)&a; *p = 100; cout << a << endl;//输出10 cout<...原创 2020-06-29 15:54:42 · 616 阅读 · 0 评论 -
const 关键字
一,C语言中的const在c语言中, const 不是常量,只能说是不可改变的变量,c编译器,不能将const修饰的变量看成一个编译期间的常量,因为其在内存中有分别,c编译器不能知道在编译期间的值,所以不能作为数组定义的下标。const int a=10;int Array[b]; //编译错误const 类名 变量名 与 类名 const 变量名 同义 1,初始化问题在c语言中,const int a;因为a只是个变量,且只会分配存储在“只读数据段”中内存,只读数据段中存放着常量原创 2020-06-27 21:17:55 · 189 阅读 · 0 评论