c++
文章平均质量分 92
Deep_Blue7
文风过处,美好如初
展开
-
C++虚函数与多态实现
虚函数实现虚函数的发明初衷在于使得程序具有更好的通用性,从代码编写的角度看,其使用基类的指针指向子类的对象,并调用虚函数,使得根据指向的对象 而调用不同的子类函数,从而实现运行时多态(Runtime polymorphism),这个特性与c语言中的函数指针回调非常相似,在c语言中,我们将函数指针作为参数传递给其他函数,然后调用,根据其指向的不同函数而产生不同的行为,c代码示例如下#include <stdio.h>typedef void(*func)(void);void foo(原创 2022-05-02 00:28:56 · 1264 阅读 · 1 评论 -
linux下 C++的标准库头文件所在目录
转自 https://www.linuxidc.com/Linux/2008-09/15906.htm 在我机器上是:/usr/include/c++其中以.h为后缀的头文件在这个目录下的backward文件夹里查找文件的相应命令:比如要找iostream,可以使用locate命令,如locate iostream也可以使用find命令,find命令比locate复杂一点关于 L...转载 2018-07-18 11:53:01 · 12178 阅读 · 0 评论 -
关于static变量,全局变量和局部变量的内存释放顺序
在局部变量中,我们知道变量是存放在栈中的,所以变量的释放次序应该是后声明的先释放内存,现在我们看一看全局变量之间,以及全局变量与静态变量之间的内存释放顺序 代码如下:#include &amp;amp;lt;iostream&amp;amp;gt;using namespace std;int a;class A { public : A(int x){ tmp = x; c...原创 2018-08-05 14:33:15 · 10394 阅读 · 0 评论 -
关于sizeof作用于拥有static成员变量的对象
为了弄清楚sizeof一个拥有static成员变量对象的到底返回多少,首先假设不含有static成员变量的情况下:#include &amp;lt;iostream&amp;gt;using namespace std;int a;class A { public : A(){} ~A(){} private : int tmp; char ch[4]...原创 2018-08-05 14:53:05 · 1908 阅读 · 0 评论 -
构造函数的误解
一直以来我以为构造函数的功能是创建对象并且为其成员初始化。现在发现并不是这样,首先我们可以这样理解,c++语言的设计者们为了使得面向对象程序设计中的资源易于管理,发明了构造函数和析构函数,先不考虑这两个函数的到底做了什么,至少有一点是可以确定的,即这两个函数具有这样的特性:构造函数(叫什么名字不重要,你也可以称它为 AAA 函数,αα\alpha 函数等任何你喜欢的名字)在声明一个对象的时候,会被...原创 2018-08-06 10:59:00 · 370 阅读 · 0 评论