![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
文章平均质量分 52
m0_37962600
这个作者很懒,什么都没留下…
展开
-
C++中的四种强转类型
在C++中一共有四种强转类型分别为:static_cast,const_cast,reinterpret_cast和dynamic_castreinterpret_cast和dynamic_cast类型转换的一般形式:cast-name(expression);原创 2017-10-23 18:25:44 · 1408 阅读 · 0 评论 -
在C/C++中关于内存问题的总结
一、内存分配方式1.从静态存储区域分配。内存在程序编译的过程中就已经分配好,这块内存在程序的整个运行期间都存在。例如:全局变量和static变量。2.在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数运行结束时,这些存储单元会被自动释放,栈内存分配运算内置于处理器的指令集中,效率很高,但分配的内存数量有限。3.从堆上分配,又被称为动态内存分配。程序在运行过程中用malloc和...原创 2018-04-09 14:41:04 · 1029 阅读 · 0 评论 -
c++中定义和声明的区别
一.基本理解1.定义和声明的简单说明a.声明就是指给除了当前变量或者函数,或者类什么的名字,不给其中的内容,就是先告诉你有这样一个什么类型的变量或者函数,但是这个变量或者函数的具体信息却是不知道的。就好比跟你介绍一个人的时候,声明就是只告诉你这个人叫什么,但是缺不给你说这个人到底怎么样,他有哪些优点,缺点,喜好问题是什么的。b.定义就不一样了,定义直接告诉你了所有的东西,这个变量是什么,这个函数是...原创 2018-04-04 08:38:58 · 13982 阅读 · 1 评论 -
C++中static的作用
C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。 一、面向过程设计中的static 1、静态全局变量 在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下: #include <iostre...转载 2018-04-22 13:21:18 · 7830 阅读 · 0 评论 -
从内存布局看C++虚继承的实现原理
准备工作1、VS2012使用命令行选项查看对象的内存布局微软的Visual Studio提供给用户显示C++对象在内存中的布局的选项:/d1reportSingleClassLayout。使用方法很简单,直接在[工具(T)]选项下找到“Visual Studio命令提示(C)”后点击即可。切换到cpp文件所在目录下输入如下的命令即可 c1 [filename].cpp /d1report...转载 2018-04-18 16:36:07 · 206 阅读 · 0 评论 -
重载、重写(覆盖)、重定义(同名隐藏)的区别
重载:指在同一作用域中允许有多个同名函数,而这些函数的参数列表不同,包括参数个数不同,类型不同,次序不同,返回值相同与否并不影响是否重载;重写和重定义则有点像,区别就是在写重写的函数是否是虚函数,只有重写了虚函数才能算作是体现了C++的多态性,否则即为重定义;综上,他们的区别如下:...原创 2018-08-11 14:13:59 · 992 阅读 · 0 评论 -
深入理解C++中的多态
一、多态的分类1.静多态:在编译期间就可以确定函数的调用地址,并产生代码。也就是说地址是早早绑定的;其往往是通过函数重载和模板来实现;2.动多态:函数调用的地址不能在编译期间确定,必须在运行时才确定;其主要是通过虚函数来实现;二、动多态1、什么是动多态?简而言之就是用父类型的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数;2、动多态的实现虚函数主要实现了...原创 2018-08-11 15:22:35 · 565 阅读 · 0 评论 -
不能实现为虚函数的函数以及原因
(1)只有类的成员函数才能说明为虚函数。(虚函数的目的是为了实现多态,多态和集成有关,所以声明一个非成员函数没有任何意义)(2)静态成员函数不能是虚函数。(静态成员函数对于每一个类只有一份代码,所有的对象共享这份代码,它不归某个对象所有,所以没有动态绑定的必要性,不能被继承,只属于该类);(3)内联函数不能是虚函数。(内联函数在程序编译的时候展开,在函数调用处进行替换,虚函数是进行动态绑定...原创 2018-08-11 15:34:49 · 1770 阅读 · 0 评论