
C++边学边总结
记录C++学习点滴~
丶阿部
好像是朝着程序猿这条路去了
展开
-
vector的模拟实现(思路清晰+注释详细=包你能看懂+学会)
vector的模拟实现1. 构造和析构(constructor and destructor)2. 迭代器相关(Iterators)3. 容量相关(Capacity)4. 元素访问相关(Element access)5. 元素修改相关(Modifiers)6. 完整代码1. 构造和析构(constructor and destructor)2. 迭代器相关(Iterators)3. 容量相关(Capacity)4. 元素访问相关(Element access)5. 元素修改相关(Modifiers原创 2020-11-29 17:39:30 · 1606 阅读 · 10 评论 -
详解C++动态内存管理
C++动态内存管理1. C/C++程序地址空间2. C语言动态内存管理回顾3. C++动态内存管理3.1 C++为什么要设计一套自己专属的动态内存管理方式3.2 new/delete操作符的使用3.2.1 new/delete操作内置类型3.2.1 new/delete操作自定义类型3.3 new/delete的实现原理3.3.1 operator new 和operator delete函数3.3.2 new/delete内置类型的原理3.3.3 new/delete自定义类型的原理4. malloc/原创 2020-11-23 12:06:53 · 565 阅读 · 7 评论 -
简单理解C++模板
C++模板1.模板概念2.函数模板2.1函数模板概念2.2定义函数模板的一般形式2.3函数模板的原理2.4函数模板的实例化3.类模板3.1定义类模板的一般形式3.2类模板的实例化1.模板概念扯在前面: 现在过中秋一般都是从外边买月饼回来吃,但我在小的时候家里很多时候会自己动手来做过中秋节的月饼,我也在中秋节前见过家里的大人亲手做月饼的过程,不过写这篇博客自然不是想介绍做月饼的方式,毕竟很多的步骤我也没有太多的印象了,但其中有很重要的一步我却仍旧记忆犹新,那便是为了使月饼真正成形,都必须经过类似下面图原创 2020-11-07 11:13:34 · 317 阅读 · 0 评论 -
C++友元的理解
C++友元友元函数友元类 我们知道,一个类中可以有公用的(public)成员和私有的(private)成员,在一个家庭的住宅中,我们可以将客厅比喻为公用部分,因为通常客厅是允许任何来访客人进入的,而卧室则不希望外人进入,只允许家人进入,可以将卧室看作是私有部分。类外可以访问本类中的公用成员,但只有本类中的成员函数可以访问本类中的私有成员。 而这篇博客我要介绍的友元(friend) 则是一个例外。 friend的意思是朋友,或者说是好友,参考我上边举的例子,有的家庭可能会这样处理,卧室除了允许本家庭的原创 2020-10-24 17:30:40 · 574 阅读 · 0 评论 -
C++中的this指针原来是这么一回事
目录为什么存在this指针this指针的特性为什么存在this指针 对于C++来说,类和对象的相关内容可以说是整个C++语言的灵魂,也是其作为一门面向对象语言的精华所在。那么,一旦谈到类和对象,就少不了对this指针认识及使用了。在探究其特性之前,有必要先对其存在的理由做一个整体的了解,在C++中,this指针到底是什么意思?为什么会存在这样一个this指针呢? 通过下面一段代码来感受一下:#include <iostream>using namespace std;class S原创 2020-10-23 11:02:05 · 462 阅读 · 0 评论 -
浅析C++中引用与指针的区别
引用和指针的概念及区别1.引用及指针概念指针概念引用概念2.引用与指针的区别1.引用及指针概念如果熟悉指针和引用的使用,就会感觉到指针和引用在很多场景使用起来还是有很大的相似性的,尽管它们在概念上是俩个完全不同的东西。那么这二者之间到底具有怎样的相似性以及又有怎样的区别呢?在谈这个话题之前我们先简单回顾一下指针和引用的概念:指针概念在计算机科学中,指针(Pointer)是编程语言中的一个对象,利用地址,它的值直接指向(pointsto)存在电脑存储器中另一个地方的值。由于通过地址能找到所需的原创 2020-09-24 20:45:18 · 881 阅读 · 0 评论 -
C++支持函数重载,而C语言却不支持,原来是这个原因!
为什么C++支持函数重载而C语言却不支持?1.函数重载的概念2.函数名修饰----造成差异的真正原因2.1函数的编译过程+链接2.2Linux下的函数名修饰规则2.3Windows下VS中的函数名修饰3.extern "C"1.函数重载的概念如果你接触过C++,那么一定使用过插入运算符"<<“和提取运算符”>>"。这俩个运算符是C和C++位运算符中的左移运算符和右移运算符,而C++又把它作为输入输出运算符。允许一个运算符可以用于不同场合,不同的场合就有不同的含义,这就叫做运算符的原创 2020-09-24 11:15:24 · 2557 阅读 · 1 评论