C++语法温习
文章平均质量分 92
自己复习C++语法知识,记录笔记
爱喝茶的菜鸟
这个作者很懒,什么都没留下…
展开
-
C++ auto_ptr、unique_ptr和shareed_ptr智能指针实现笔记
写在前面对在C++中new出来的堆对象,在程序结束前必然需要我们手动进行delete,否则会造成内存泄漏。C++11提出的智能指针就是利用类对象在程序结束前自动调用析构函数的方式来自动管理内催空间。因此,智能指针是一个类。C++98中有auto_ptr(书院弃徒,垃圾),但由于本身的缺陷,已经被C++11弃用。C++11中,三个更为优秀的智能指针横空出世,惊才绝艳。想要绝世之才,必然要从弟弟开始做起智能指针中的弟弟,非auto_ptr不可。虽然后来的哥哥们比较牛逼,但是万变不离其宗,原型都是auto弟原创 2020-08-13 17:54:21 · 272 阅读 · 0 评论 -
单例模式笔记
平时做项目,学习的过程中没有怎么接触过设计模式(统统在面向过程。。。很是菜),单例模式以前都不清楚,为了应对面试中可能出现的情况,至少还是要扒一扒单例的裤子。什么是单例以及单例的构造方式单例模式,就是只允许产生一个实例化对象,即这个类只有一个对象(不允许重婚哦)。一般情况下,我们实现一个对象的实例化,会进行普通的构造或者利用new一个堆对象。想要实现单例,显然需要限制构造函数的访问权限-private。然后暴露一个接口给用户进行实例化。如下:class Student {public: ~Stu原创 2020-08-12 23:24:29 · 131 阅读 · 0 评论 -
C++异常处理
什么是异常处理异常处理:是编程语言或计算机硬件中的机制,用于处理软件或信息系统中出现的异常状况(即超出程序正常执行流程的某些特殊条件)在C++中针对异常处理提供了一种标准的方法,用于处理程序运行时的错误,保证程序的健壮性、稳定性。但是异常处理的速度没有普通函数快,过多的异常处理会影响效率。目的:对用户在程序中的非法操作进行控制和提示,以防程序崩溃。C++异常处理方式不再用if语句进行判断,有三个关键字,try,throw,catchtry-catch块try{ 包含可能抛出异常的语句}c原创 2020-07-05 23:00:00 · 189 阅读 · 0 评论 -
C++温习面向对象——3、继承
写在前面C++面向对象的思想,之前总结到,主要包括封装、继承的基本概念1、一个类A可以继承另一个类B,那么我们称类B为基类(父类),类A为派生类(子类)。2、子类从父类继承了所有成员,除了构造函数、析构函数、赋值运算符重载函数。(还是要自己构造自己和“自杀”滴)。3、子类的成员分为两部分: 继承,扩展4、虽然父类的私有成员被子类继承,但子类不能直接访问父类的私有成员。(朋友可以用,儿子不可以哈哈哈,可以结合之前的友元类)可以通过继承自父类的公有成员函数来访问。5、子类可以自己实现与父类成员函数原创 2020-07-07 21:15:38 · 510 阅读 · 0 评论 -
C/C++静态回顾
引言C/C++面试常见问题,关键字static的用法,在这里稍作整理和温习。C——静态局部变量用于函数体内部修饰变量,这种变量的生存期长于该函数。这与变量所在的内存区域有很大的关系。我们知道编译器自动分配的内存区域,如局部变量、函数参数,都在栈区,会随着作用域退出而释放空间。用户分配的区域在堆空间。全局数据区(静态区),全局变量和静态变量就存在一起,初始化的全局变量和静态变量在一个区域,未初始化的全局变量和未初始化的静态变量在另一块区域,程序结束时自己释放。函数结束后,静态局部变量的内存空间不会被销原创 2020-06-23 21:48:31 · 273 阅读 · 0 评论 -
C++概念温习——2、类与对象的相关基础知识
C和C++实现输入一个点和打印一个点的区别,直接 / 封装类-抽象对象-类的实例化原创 2020-06-28 00:12:38 · 185 阅读 · 0 评论 -
C++概念温习整理-1、面向对象引言
引言本科一进学校就是学C语言,当初就是为了应付考试,瞎学一通。这么多年了,实在惭愧,关于C/C++依旧是小白级别的水平。平时做的一些项目也都是在面向过程,C++能力实在有限。在leetcode刷题的时候,也发现了自己的薄弱。因此,决定抽空也复习复习C++,在这里做一些自己的笔记和理解。C与C++的大致区别众所周知,C是面向过程的语言,而C++作为C的升级版和扩展,是面向对象的语言,当然现在还有面向函数式的编程思想,可以说非常牛X。所谓面向对象,包括了三大概念:封装、继承、多态。相比于C,C++中还原创 2020-06-03 21:01:53 · 145 阅读 · 0 评论