![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
C++学习笔记
ComeOn、
双目视觉;C++;
质胜文则野,文胜质则史
展开
-
函数指针与函数指针数组
去看这篇文章,写的非常好:https://www.cnblogs.com/lvjunjie/p/8961644.htmlvoid (*func)();/*这是一个函数指针声明,定义的时候,要把真实的函数地址赋给func: func = Function;你已经写好了Function()函数,再把Function这个函数地址赋给func,有啥用?没啥用吧。来看看函数指针数组你就只知道了*/void (*func[256])();/*这是声明,你可以把256个函数(Function0()、F原创 2020-09-15 09:19:48 · 71 阅读 · 0 评论 -
const int * a、int * const a、int const * a、const int * const a
理解下面四者的区别:const int * a;int * const a;int const * a;const int * const a;很好理解:把*改为(point to),并从右往左念:const int (point to) a;/*即a指向const int型的指针变量*/int (point to) const a;/*const a指向int型的指针变量*/int const (point to) a;/*a指向int const型的指针变量。 其实int原创 2020-09-15 08:59:02 · 401 阅读 · 0 评论 -
typedef原来如此简单
1、typedef的作用是:对原来的数据类型,再起一个名字。注意,原来的数据类型名还是可以使用的。方式一:不使用typedef:int i = 10;方式二:使用typedef:typedef int mycnt;mycnt i = 10;注意一:方式一和方式二是等价的;注意二:虽然我们在方式二中为int起了个新名字“mycnt”,但我们还是仍然可以继续使用"int i = 10;"语句的。2、结构体使用typedef(从而使得代码更简洁)2.1typedef struct Stu原创 2020-08-08 18:23:09 · 127 阅读 · 0 评论 -
C语言之指针、动态内存malloc()、结构体总结
本笔记是截取的郝斌老师的课程大纲;包括C指针和动态内存划分两部分;郝斌老师的笔记简练而句句精辟!一、C指针二、动态内存划分原创 2020-08-07 20:02:17 · 476 阅读 · 0 评论 -
C语言总结(郝斌笔记)
本笔记是截取的郝斌老师的课程大纲;如果你是想要复习C语言,建议看看本笔记,郝斌老师的笔记简练而句句精辟!如果你是初学者,建议你去b站上看郝斌的C语言教程,然后结合本笔记(二者是配套的)。这是一个pdf文件:链接:https://pan.baidu.com/s/197Y7QAuowGVLbvITq692pw提取码:vf13你可以在线看这篇pdf:...原创 2020-08-07 20:15:52 · 2029 阅读 · 2 评论 -
一些C/C++的知识点、经验总结
1、数组当作参数传到另一个函数中是,此时其实传的是一个地址即数组首元素地址。 那就不可以通过sizeof来判断数组大小了。一种解决方法是,同时在函数参数列 表中把数组的大小传进去。...原创 2021-04-18 14:59:41 · 125 阅读 · 0 评论 -
new和malloc区别
https://www.pianshen.com/article/1261411053/原创 2021-03-16 10:56:50 · 64 阅读 · 0 评论 -
extern “C“的作用
https://juejin.cn/post/6844904000333037575原创 2021-03-16 10:36:33 · 54 阅读 · 0 评论 -
【C++】day08 - 【类型识别】【dynamic_cast】【typeid】【虚析构函数】
目录一、类型识别2.1dynamic_cast<类型>(对象);1.2 typeid二、虚析构函数2.1概念2.2作用一、类型识别2.1dynamic_cast<类型>(对象);在多态的代码中,父类指针只能调用父类中的相关数据。子类扩展的部分无法调 用,有时要恢复父类指针指向的具体对象的类型。而这个恢复就要用动态 类型转换。动态类型转换必须满足多态性(必须要有虚函数)如果转换成功返回非空指针,转换失败则返回NULL指针程序举例:```cpp#include &原创 2020-09-06 19:59:19 · 167 阅读 · 0 评论 -
【C++】day07
目录一、继承的数据权限变化之后的权限突破二、友元类三、继承中构造函数和析构函数的调用顺序四、继承中的拷贝构造函数 和 赋值运算符函数五、名字隐藏机制(name hide)4.1概念4.2举例六、多继承6.1概念6.2举例6.3把父类中公共的数据部分抽象到更高层的类中6.4钻石继承(菱形继承)、虚继承、 virtual关键字七、虚函数7.1概念7.2举例八、函数重写(over write)8.1概念8.2程序举例8.3 函数重载、函数重写、函数隐藏的区别九、多态9.1概念9.2多态的应用9.3多态的原理一、原创 2020-09-03 13:21:01 · 300 阅读 · 0 评论 -
【C++】day06 - 【面向对象的特征】【封装】【继承】【指针与引用的联系与区别】
目录一、面向对象的三大特征1.1特征1.2封装1.2.1封装的概念1.2.2封装的作用1.3继承1.3.1继承的概念1.3.2继承的语法1.3.3程序举例1.3.4继承 vs 组合1.3.5继承方式1.3.5.1公开继承1.3.5.2私有继承1.3.5.3保护继承1.3.6继承总结二、指针和引用的联系与区别联系:区别:一、面向对象的三大特征1.1特征 封装 继承 多态1.2封装1.2.1封装的概念 该公开的公开化,该私有的就隐藏掉 public: private:1.2.2封原创 2020-09-01 12:15:12 · 299 阅读 · 0 评论 -
【C++】day05 - 【运算符重载】【友元函数】【二元运算符】【一元运算符】【运算符重载的限制】【new和delete重载】
目录一、运算符重载(二元运算符)1.1概念1.2目的1.3程序举例1.4 运算符重载原理fa+fb讲解1.5对1.3运用运算重载符fa+fb进行改进(全局形式)1.6对1.3运用运算重载符fa+fb进行改进(成员函数形式)1.7 运算符重载fa*=fb1.7例子:分数和整数相加1.8友元函数1.8.1 方式一:使用公开的访问接口1.8.2方式二:友元函数1.9成员函数、静态函数、友元函数特性1.10两个特殊的运算符1.11其他的二元运算符二、运算符重载(一元运算符)2.1 一元运算符2.2 程序举例:三、运原创 2020-08-29 18:01:24 · 376 阅读 · 0 评论 -
【C++】day04 - 【const对象和const函数】【拷贝构造函数】【静态成员】【成员指针】
目录一、const对象和const函数1.1概念1.2 const函数相关知识点一1.3 const函数相关知识点二二、拷贝构造函数2.1概念2.2拷贝构造函数的调用时机时机一:使用同类型的对象创建另外一个对象时。时机二:对象作为函数参数的值传递时时机三:把对象作为函数的返回值时2.3为什么要自定义拷贝构造函数2.4一个例子(自己设计一个数组)三、静态成员3.1静态成员变量3.2静态成员函数3.3 写一个单例模式四、成员指针4.1成员变量指针4.1.1概念4.1.2语法4.1.3程序举例4.1.4成员变量指原创 2020-08-27 23:25:48 · 300 阅读 · 0 评论 -
【C++】day03 - 【类型与对象的概念】【类型】【构造函数】【一个对象创建的过程】【构造函数的应用】【头文件和实现文件的分离】【this指针】【析构函数】
目录一、类型与对象的概念1.1什么是对象1.2类型二、如何在计算机中描述类型2.1使用结构体(struct)对类型进行描述2.2使用类(class)对类型进行描述三、构造函数3.1构造函数概述3.2一个知识点四、一个对象创建的过程五、构造函数的应用5.1 要点5.2 初始化列表六、头文件和实现文件的分离七、this指针7.1 this指针概述7.2 this的使用八、析构函数8.1概述8.2析构函数程序举例:一、类型与对象的概念1.1什么是对象 万物皆对象 程序就是由一组对象组成的,对象和对象通过发原创 2020-08-22 21:46:51 · 141 阅读 · 0 评论 -
声明和定义的区别
声明和定义的区别:一:定义包含了声明,但是声明不包含定义,如int a = 0; //定义并声明了变量 aextern int a; /*只是声明了有一个变量 a 存在,具体 a 在哪定义的,需要编译器编译的时候去找。*/二:函数也是类似,定义的时候同时声明。但如果只是声明,编译器只知道有这么个函数,具体函数怎么定义的要编译器去找。void fun1(); //函数声明void fun1(){ //函数定义 cout<<"fun1"<<endl原创 2020-08-21 10:58:27 · 104 阅读 · 0 评论 -
【C++】day02 - 【内联函数】【参数哑元】【参数的默认值】【c++ 动态内存分配new()】【c++中的引用】【c++中的四种类型转换运算符】【c++之父给c程序员的建议】
目录一、内联函数1.1内联函数概述1.2如何实现1.3内联函数适用场景二、参数哑元2.1概念2.1作用三、参数的默认值3.1概念3.2语法3.3程序举例四、c++ 动态内存分配new()五、c++中的引用5.1概念5.2语法5.3程序举例5.4引用的简单实现(原理)5.5引用的应用六、c++中的四种类型转换运算符6.1 static_cast<类型>(变量)6.2 dynamic_cast<类型>(变量)6.3 const_cast<类型>(变量)6.4 reinterp原创 2020-08-19 16:41:46 · 149 阅读 · 0 评论 -
【C++】day01 - 【命名空间】【结构、联合、枚举】【布尔】【函数与函数重载】
目录一、C++发展的历史二、 C和C++的关系三、第一个C++程序一、C++发展的历史80年代 贝尔实验室 本贾尼83年 正式命名为C++87年 GNU制定了C++标准92年 微软和IBM分别指定了C++标准98年 ansi ISO制定了C++标准(C++编译器默认C++98)03年 ISO C++0311年 ISO C++0x无论C++是否出现新标准,其实对程序员的影响不大,因为C++编译器默认C++98。使用各标准的方法:gcc ***.c -std = c99(这原创 2020-08-14 19:09:49 · 295 阅读 · 0 评论