C++学习笔记
文章平均质量分 93
ld0524
这个作者很懒,什么都没留下…
展开
-
C++智能指针
智能指针是什么,它的实现原理,C++个版本的智能指针原理及其实现原创 2022-07-28 09:35:34 · 1056 阅读 · 0 评论 -
C++继承
一、继承的概念和定义1.继承的概念面试官:介绍下你所认识的继承?答:继承的概念:继承机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类型的基础之上进行扩展,增加功能,这样产生的新类,称作派生类。继承呈现了面向对象设计的层次结构,体现了由简单到复杂的认知过程,以前我们接触的复用都是函数复用,继承是类设计层次的复用。举例:例如动物就是一个类,而狗就是建立在动物这个类的基础之上创建的类,它继承了属于动物所共有的特点,又有自己所独有的特点,狗和动物就属于继承的关系,动物就是原创 2022-05-06 19:59:54 · 1015 阅读 · 0 评论 -
vector
一:vector的相关使用与操作vector是表示可变大小数组的序列容器1.构造和析构2.迭代器3.容量的操作4.元素访问5.修改二:迭代器失效三:vector的模拟实现原创 2022-04-16 22:20:01 · 611 阅读 · 0 评论 -
string类的模拟实现以及浅拷贝问题
目录问:为什么要有string类?介绍一下标准库中的string类浅拷贝的问题以及解决方法:1.回顾浅拷贝问题:2.浅拷贝的两种解决方法>>1.深拷贝>>2.写时拷贝string类的模拟实现:问:为什么要有string类?答:C语言中,字符串是以'\0'结尾的一些字符的集合,为了操作方便,C标准库中提供了一些str系列的库函数,但是这些库函数与字符串是分离开的,不太符合OOP的思想,而且底层空间需要用户自己管理,稍不留神可能还会越界访问原创 2022-04-06 19:36:41 · 1014 阅读 · 0 评论 -
STL容器
STL:standard template library-----标准模板库面试题:什么时STL?1.STL:standard template library----C++中的标准模板库2.通俗来说:STL就是将常见的数据结构以模板的方式进行封装,包含常用通用的泛型算法。数据结构:顺序表、链表、栈和队列、堆、二叉树、哈希等3.具体来说,STL中有六大组件a.容器>>序列式容器----线性数据结构string:动态类型的顺序表---只能存储字符---字符串v原创 2022-04-06 16:34:19 · 811 阅读 · 0 评论 -
C++类和对象(下)
一、再谈构造函数1.构造函数体赋值通过我们之前对构造函数的学习,我们知道了创建一个函数的时候编译器会自动调用构造函数,而我们也可以通过构造函数对类中的成员变量进行赋值,注意,这里说的是赋值,与初始化是不同的。那么什么是初始化呢?简单来说就是在创建变量的时候进行赋值,而且初始化只能有一次,而赋值却可以有多次。我们运行下面的代码:class Date{public: Date(int year, int month, int day) { _year = year; _mo原创 2022-04-03 17:45:26 · 862 阅读 · 0 评论 -
C++动态内存管理
问题:1.string和sizeof的区别2.malloc、calloc和realloc的区别3.malloc和new的区别与联系一、C/C++程序运行起来后,内存分布情况为什么操做系统设计的时候,需要将完整的内存空间化分成不同的区域?方便对内存空间进行管理。如上图:1.栈又叫做堆栈,非静态局部变量/函数参数/返回值等等,栈是向下增长的。2.内存映射段是高效的I/O映射方式,用于装载一个共享内存的动态内存库。用户可使用系统接口创建共享内存,用于进程间通信。原创 2022-03-31 20:26:02 · 3136 阅读 · 1 评论 -
C++-----模板
一、泛型编程如何实现一个交换函数呢?void Swap(int& left, int& right) { int temp = left; left = right; right = temp;}void Swap(double& left, double& right) { double temp = left; left = right; right = temp;}void Swap(char& left, char& ri原创 2022-03-31 18:45:57 · 2623 阅读 · 0 评论 -
C++类(中)------6个默认成员函数
空类什么都没有吗?不是什么都没有,编译器会给类生成6个默认的成员函数:1.构造函数----->用来进行成员对象创建时的初始化工作2.析构函数------>对象销毁时资源的清理工作3.拷贝构造、赋值运算符的重载---->用来进行对象的拷贝4.两个取地址&的重载问:什么叫默认的成员函数?答:用户没有自己写,编译器会自动生成;一旦用户显示提供了编译器不再生成。一、构造函数1.概念我们知道在定义一个内置类型变量的时候,我们可以对其进行初始化,如下:原创 2022-03-24 23:09:50 · 1470 阅读 · 0 评论 -
C++类的认识(上)
问题:1.面向对象和面向过程初步认识2.类和认识与结构体做区别3.封装特性4.this指针的认识5.this指针存在哪里?6.this指针可以为空吗?1.面向对象和面向过程C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用的方式解决问题。比如洗衣服这件事:我们可以将它分成以下几个步骤:C++是面向对象的,关注的是对象,将一件事拆分成不同的对象,靠对象之间的交互完成。比如洗衣服这件事就可以分为四个对象:人,衣服,洗衣粉,洗衣机.原创 2022-03-21 21:11:16 · 1160 阅读 · 0 评论 -
C++简单的入门知识,这些问题你会了吗?
问题:1.命名空间是什么?2.函数重载是什么?为什么C语言没有函数重载而C++有函数重载?3.传值和引用的效率哪个更高?4.引用和指针哪个效率更高呢引用和指针的区别?5.auto关键字的使用6.NULL和nullptr的比较1.C++关键字C++总计63个关键字,C语言32个关键字2.C++命名空间在C语言中,你是否会会因为变量的起名字而苦恼呢?当我们和别人一起开发一个项目的时候,自己负责自己的模块,互不干扰,但最后将代码进行整合,这时候就会出现问题了,有.原创 2022-03-18 17:29:28 · 1326 阅读 · 8 评论