c/c++
记录常用的一些学习心得
whuer_dyl
这个作者很懒,什么都没留下…
展开
-
C++系列(四)为什么析构函数一般写成虚函数
参考 基类指针指向派生类对象,在删除指针时,会调用派生类的析构函数,派生类的析构函数会自动调用基类的析构函数,这样整个派生类的对象会被完全释放。 如果基类的析构函数不被声明为虚函数,在删除基类指针时,只会调用基类的析构函数,不会调用派生类的析构函数,造成内存泄露。 下面举例说明 #include "stdafx.h" #include <iostream> using namespace std; class parent { public: parent() { cout <&l转载 2021-03-09 22:24:57 · 229 阅读 · 0 评论 -
C++系列(三)深浅拷贝
深浅拷贝 浅拷贝是利用同一类型的对象之间的成员变量进行简单的赋值。当类中有指针时,并且指针指向动态分配的内存空间,析构函数做了动态内存释放的处理,浅拷贝会导致内存问题。此时我们需要自定义拷贝构造函数 例如 #include <iostream> using namespace std; class person { public : int m_A; int m_B; person(int x) { m_P = new int(x); } //深拷贝 //person(原创 2021-02-15 20:44:30 · 172 阅读 · 0 评论 -
C++系列(二)引用&
引用 1、引用必须要初始化,引用初始化后不可改变 2、引用的本质是指针常量 #include <iostream> using namespace std; int main(int argc, char **argv) { int a = 10; //int &b;//错误,必须要初始化 int &b = a; b = 30; cout << "a= " << a << endl; cout原创 2021-02-05 20:14:02 · 174 阅读 · 3 评论 -
C++系列(一)静态变量static
static是C/c++中的修饰符,用来控制变量的存储方式和可见性。 静态变量和静态方法 static关键字最基本的用法是: 1、被static修饰的变量属于类变量,可以通过类名.变量名直接引用,而不需要new出一个类来 2、被static修饰的方法属于类方法,可以通过类名.方法名直接引用,而不需要new出一个类来 被static修饰的变量、被static修饰的方法统一属于类的静态资源,是类实例之间共享的,换言之,一处变、处处变。 ...原创 2021-02-05 19:43:57 · 292 阅读 · 3 评论