![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++基础知识
文章平均质量分 92
小林coding
公众号 : 「小林coding」 专注图解计算机基础,期待你的关注,保证把你图解的明明白白。
展开
-
「C++ 」借来的资源,如何还的潇洒?
有借有还,再借不难!原创 2020-02-26 22:13:25 · 1997 阅读 · 0 评论 -
「C++ 篇」答应我,别再if/else走天下了可以吗
在写 if / else,锤自己!原创 2020-02-15 13:24:42 · 2907 阅读 · 0 评论 -
学过 C++ 的你,不得不知的这 10 条细节!(附思维导图)
前言我在阅读 《Effective C++ (第三版本)》 书时做了不少笔记,从中收获了非常多,也明白为什么会书中前言的第一句话会说:对于书中的「条款」这一词,我更喜欢以「细节」替换,毕竟年轻的我们在打 LOL 或 王者的时,总会说注意细节!细节!细节~ —— 细节也算伴随我们的青春的字眼针对书中的前两个章节,我筛选了 10 个 细节(条款)作为了本文的内容,这些细节也相对基础且重要。针...原创 2020-02-12 21:03:11 · 2456 阅读 · 0 评论 -
C++ 一篇搞懂多态的实现原理
英雄联盟游戏的例子,讲解多态的特性的好处和作用!原创 2020-02-01 17:24:46 · 2011 阅读 · 4 评论 -
C++ 模板常见特性(函数模板、类模板)
背景C++ 是很强大,有各种特性来提高代码的可重用性,有助于减少开发的代码量和工作量。C++ 提高代码的可重用性主要有两方面:继承模板继承的特性我已在前面篇章写过了,本篇主要是说明「模板」的特性。使用「模板」的特性设计,实际上也就是「泛型」程序设计。函数模板01 变量交换函数模板假设我们设计一个交换两个整型变量的值的函数,代码如下:// 交换两个整型变量的值的Swap函数:...原创 2020-01-09 09:50:00 · 2035 阅读 · 0 评论 -
C++ 一篇搞懂继承的常见特性
C++ 继承常见的特性原创 2020-01-01 23:15:41 · 1819 阅读 · 2 评论 -
C++ 自增、自减运算符的重载和性能分析
01 ++、–运算符重载函数的格式自增运算符和自减运算符是有前置和后置之分的,如:a++ // 后置自增运算符++a // 前置自增运算符b-- // 后置自减运算符--b // 前置自减运算符为了区分所重载的是前置运算符还是后置运算符,C++规定:前置运算符作为一元运算符重载,重载为成员函数的格式如下:T & operator++(); // 前置自增运算...原创 2019-12-04 22:48:43 · 2110 阅读 · 0 评论 -
C++ 流插入和流提取运算符的重载
01 流插入<<运算符的重载C++ 在输出内容时,最常用的方式:std::cout << 1 <<"hello";问题:那这条语句为什么能成立呢?cout 是什么?"<<" 运算符能用在 cout 上呢?原因:实际上,cout 是在 iostream 头文件中定义的 ostream 类的对象。“<<” 能够用在 c...原创 2019-12-02 12:29:44 · 3278 阅读 · 0 评论 -
C++ 手把手教你实现可变长的数组
01 实现自定义的可变长数组类型假设我们要实现一个会自动扩展的数组,要实现什么函数呢?先从下面的main函数给出的实现,看看有什么函数是需要我们实现的。int main(){ MyArray a; // 初始化的数组是空的 for(int i = 0; i < 5; ++i) a.push_back(i); // push_back是成员函数 ...原创 2019-12-01 21:44:07 · 6137 阅读 · 0 评论 -
C++ 赋值运算符‘=‘的重载(浅拷贝、深拷贝)
01 赋值运算符重载的需求有时候希望赋值运算符两边的类型可以不匹配,比如:把一个 int 类型变量赋值给一个Complex(复数)对象,或把一个 char* 类型的字符串赋值给一个字符串对象,此时就需要重载赋值运算符‘=’。需要注意的是:赋值运算符 = 只能重载为成员函数。02 赋值运算符重载的例子下面我们以自定义一个自己的字符串类代码的例子,讲解赋值运算符的重载函数。class My...原创 2019-12-01 21:43:15 · 2691 阅读 · 0 评论 -
C++ 运算符重载的基本概念
01 运算符重载的需求C++ 预定义的运算符,只能用于基本数据类型的运算:整型、实型、字符型、逻辑型等等,且不能用于对象的运算。但是我们有时候又很需要在对象之间能用运算符,那么这时我们就要重载运算符,使得运算符能用于对象之间的运算。比如,在数学上,两个复数可以直接进行+、-等运算,但在C++中,直接将+或-用于复数对象是不允许的。有时会希望,让对象也能通过运算符进行运算。这样代码就更简洁,也容...原创 2019-12-01 21:41:53 · 1642 阅读 · 0 评论 -
C++ const常量对象、常量成员函数和常引用
01 常量对象如果不希望某个对象的值被改变,则定义该对象的时候可以在前面加const关键字class CTest{public: void SetValue() {}private: int m_value;};const CTest obj; // 常量对象02 常量成员函数在类的成员函数后面可以加const关键字,则该成员函数成为常量成员函数。在常量成...原创 2019-11-28 23:39:22 · 1908 阅读 · 0 评论 -
C++ 成员对象和封闭类
01 成员对象与封闭类类里有其他对象则该对象叫成员对象;有成员对象的类叫 封闭类;class CTyre // 轮胎类{public: // 有参数构造函数 // 初始化成员变量m_radius和m_width CTyre(int r, int w):m_radius(r),m_width(w) { }private: int m_radius; // ...原创 2019-11-28 23:38:39 · 1804 阅读 · 0 评论 -
C++ static静态成员
01 基本概念静态成员:在定义前面加了static关键词的成员。class A{public: A(int a, int b):m_a(a),m_b(b) { num += m_a + m_b; } ~A(){ } void Fun(); // 普通成员函数 static void ...原创 2019-11-28 23:37:56 · 1570 阅读 · 0 评论 -
C++ this指针的理解和作用
01 C++ 程序到 C 程序的翻译要想理解 C++ 的 this 指针,我们先把下面的 C++ 代码转换成 C 的代码class Car {public: int m_price; // 成员变量 void SetPrice(int p) // 成员函数 { m_price = p; }};int main(){ Car car; car....原创 2019-11-28 23:36:52 · 2027 阅读 · 1 评论