
C/C++
展翅飞翔mxq
机器人算法工程师 机械臂运动学、动力学算法 轨迹规划 离线仿真 移动机器人运动控制、matlab仿真 C、C++、linux、ROS
展开
-
C++学习笔记——多态与虚函数
虚函数作用:通过基类指针只能访问派生类的成员变量,但是不能访问派生类的成员函数。为了让基类指针能够访问派生类的成员函数,C++ 增加了虚函数(Virtual Function)。使用虚函数非常简单,只需要在函数声明前面增加 virtual 关键字。虚函数的使用要点:只需要在虚函数的声明处加上 virtual 关键字,函数定义处可以加也可以不加。为了方便,你可以只将基类中的函数声明为虚函数...原创 2020-11-24 16:21:20 · 458 阅读 · 0 评论 -
C++学习笔记——继承与派生
继承与派生定义C++ 中的继承是类与类之间的关系:继承(Inheritance)可以理解为一个类从另一个类获取成员变量和成员函数的过程。派生(Derive)和继承是一个概念,只是站的角度不同,可以理解为被另一个类获取成员变量和成员函数;派生类除了拥有基类的成员,还可以定义自己的新成员,以增强类的功能。例如: Quaternion类继承了QuadWord类,当创建一个Quaternion类型的对...原创 2019-10-15 15:20:26 · 426 阅读 · 0 评论 -
C++学习笔记——类和对象
类和对象类是创建对象的模板,一个类可以创建多个对象,每个对象都是类类型的一个变量;创建对象的过程也叫类的实例化。每个对象都是类的一个具体实例(Instance),拥有类的成员变量和成员函数。与结构体一样,类只是一种复杂数据类型的声明,不占用内存空间。而对象是类这种数据类型的一个变量,或者说是通过类这种数据类型创建出来的一份实实在在的数据,所以占用内存空间;所以在定义类时不能对成员变量进行初始化...原创 2019-09-20 19:27:25 · 393 阅读 · 0 评论 -
VS Code 配置、编译、运行C/C++程序基本操作
1.下载安装VS codehttps://code.visualstudio.com/Download2.安装C/C++编译环境(MinGW-w64)https://sourceforge.net/projects/mingw-w64/点击下载,并安装。注意:MinGW和MinGW-w64是两个不同的项目,我们安装的是后者!注意与红色框内选择一致即可,点击Next继续安装。点击...原创 2019-01-18 22:33:36 · 6119 阅读 · 1 评论 -
C语言学习笔记——指针、数组作为函数参数传递的方式
指针作为函数参数传递一维数组C 语言中声明了一个数组TYPE array[n],则数组名称array 就有了两重含义:第一,它代表整个数组,它的类型是TYPE[n];第二,它是一个常量指针,该指针的类型是TYPE*,该指针指向的类型是TYPE。因此,指针作为函数参数传递一维数组有4种形式:#include <stdio.h>#define N 3float average...原创 2019-01-03 20:08:58 · 13042 阅读 · 1 评论 -
C语言学习笔记——字符串
一、字符串1、字符串常量:字符串:是一个或多个字符的序列;一个字符在内存中只占一字节,而字符串本质上是多个字符组成的字符数组。C语言规定,在每一个字符串常量的结尾,系统都会自动加一个字符’\0’作为该字符串的“结束标志符”,系统据此判断字符串是否结束。在 C 语言中,字符串不属于数据类型;字符串有两种存储方式,一种是通过字符数组存储,另一种是通过字符指针存储。如:"How are you"中,...原创 2018-12-11 21:57:27 · 645 阅读 · 0 评论 -
C语言学习笔记——链表
链表是一种常见的重要的数据结构。它是动态地进行存储分配的一种结构。它可以根据需要开辟内存单元。链表有一个“头指针”变量,以head表示,它存放一个地址。该地址指向一个元素。链表中每一个元素称为“结点”,每个结点都应包括两个部分:一为用户需要用的实际数据,二为下一个结点的地址。因此,head指向第一个元素:第一个元素又指向第二个元素;……,直到最...原创 2018-12-13 20:42:11 · 324 阅读 · 0 评论 -
C语言学习笔记——static用法
在C语言中static的作用如下:1、修饰局部变量:1)位置:静态局部变量被编译器放在全局存储区静态存储区,所以它虽然是局部的,但是在程序的整个生命周期中存在。2)访问权限:静态局部变量只能被其作用域内的变量或函数访问。也就是说虽然它会在程序的整个生命周期中存在,由于它是static的,它不能被其他的函数和源文件访问。3)值:static局部变量初次定义时就要初始化,且只能初始化一次。如果...原创 2018-12-08 14:16:02 · 597 阅读 · 0 评论 -
C语言学习笔记——typede用法
typedef 关键字:自定义数据类型名称,来替代系统默认的基本类型名称、数组类型名称、指针类型名称与用户自定义的结构型名称、共用型名称、枚举型名称等。(1)为基本数据类型定义新的类型名也就是说,系统默认的所有基本类型都可以利用 typedef 关键字来重新定义类型名,示例代码如下所示:typedef unsigned int COUNT;而且,我们还可以使用这种方法来定义与平台无关的类型...原创 2018-12-08 11:54:14 · 1822 阅读 · 0 评论 -
C语言学习笔记——结构体
一、结构体1、结构体定义:结构体是将不同类型的数据按照一定的功能需求进行整体封装,封装的数据类型与大小均可以由用户指定。2、结构体声明:声明一个结构体类型的一般形式为:struct 结构体名{ 成员列表};例如:struct BOOK { char title[20]; char author[20]; float value;}...原创 2018-12-08 11:53:56 · 799 阅读 · 0 评论 -
C语言学习笔记——指针:动态内存分配
C程序的内存映像C程序的变量内存分配有三种:(1)从静态存储区分配:程序的全局变量和静态变量都在静态存储区上分配,且在程序编译时就已经分配好了,在程序运行期间都是存在的。只有在程序终止前,才被操作系统收回。(2)在栈上分配:在执行函数调用时,函数内的局部变量及形参都是在栈上分配的,该函数执行结束时,这些内存被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是容量有限。(3)从堆上分...原创 2018-11-27 22:50:02 · 1426 阅读 · 0 评论 -
C语言学习笔记——指针:const指针
当定义一个指针变量时,它的本身的值以及该指针变量所指向的数据都可以被声明为const。const在变量语句中所处的位置不同表示的含义也不同。下面分别讨论。(1)const放在类型关键字前面例如:int a,b;const int *p=&a;说明,*p是一个常量,即只读的,而p不是,我们从右至左来理解这条语句,即p是一个指针变量,可以指向一个整型常量。这时不可以修改*p。但是p...原创 2018-11-26 20:44:41 · 541 阅读 · 0 评论 -
C语言学习笔记——指针:指针函数与函数指针
指针函数:本质是一个函数,函数返回类型是某一类型的指针。声明格式: 类型标识符 *函数名(参数表)例如:int *fun(int x,int y);这和普通的函数声明唯一的区别就是在函数名前面多了一个*号,而这个函数就是一个指针函数。其返回值是一个 int 类型的指针,是一个地址。函数指针:如果在程序中定义了一个函数,那么在编译时系统就会为这个函数代码分配一段存储空间,这段存储...原创 2018-11-26 19:59:32 · 426 阅读 · 0 评论 -
C语言学习笔记——指针:指针数组与数组指针
指针数组:是一个数组,数组元素为指针数组指针:是一个指针,指向数组的指针例如:int *p1[5];int (*p2)[5];对于语句int*p1[5],因为“[]”的优先级要比*要高,所以 p1 先与“[]”结合,构成一个数组的定义,数组名为 p1,而“int*”修饰的是数组的内容,即数组的每个元素。也就是说,该数组包含 5 个指向 int 类型数据的指针,如图 1 所示,因此,它是...原创 2018-11-24 19:36:24 · 7818 阅读 · 4 评论 -
C语言学习笔记——指针:指针与二维数组
在C语言中可将一个二维数组看成是由若干一维数组构成的。如:int a[3][4];首先,可将二维数组a看成是由a[0],a[1],a[2]三个元素组成的一维数组,a是该一维数组的数组名,代表该一维数组的首地址,即第一个元素a[0]的地址(&a[0])。所以*(a+i)即为a[i],注意这里所谓的元素a[0],a[1],a[2]事实上仍然是个地址。其次,可以将a[0],a[1],a...原创 2018-11-24 16:58:07 · 1417 阅读 · 3 评论 -
C语言学习笔记——指针:多级指针
C语言学习笔记——指针:多级指针指针的指针: 如果一个指针变量存放的是另一个指针变量的地址,则称这个指针变量为指向指针的指针变量。假如定义了一个二级指针:int **q;       对于上述例子的二级指针,我们可以把int **q拆分成两部分看:,即int*和 (*q),后面 (*q)中的 * 表示 q 是一个指针变量,前面的int*表示指针变量...原创 2018-11-22 21:55:16 · 346 阅读 · 0 评论 -
C语言学习笔记——指针:指针与一维数组
数组名代表数组的首地址,例如:int a[10];int *p=NULL;p=a;       其中,数组名a代表数组的首地址(即&a[0]),那么表达式a+i代表数组中下标为i元素a[i]的地址,即&a[i]。       还可以原创 2018-11-23 21:11:20 · 2327 阅读 · 0 评论