自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 C++学习 第十五章

1.友元一个类成为另一个类的友元例子:使用遥控器控制电视,也就是说遥控器中的方法可以改变电视的状态,然而遥控器和电视既不是is-a的关系同时也不是has-a的关系,所以这种情况适合使用友元类的方式来解决问题。注意:友元声明可以位于公有,私有和保护部分//友元类//tv.h#ifndef TV_H_#define TV_H_class Tv{public: friend class Remote; enum {Off ,On}; enum {MinVal,MaxVal = 20}

2021-01-18 16:11:43 175

原创 C++学习 第十四章

1.valarray类简介valarray类是一个处理数值的类,它支持诸如将数组中所有元素的值相加以及在数组中找到最大和最小的值等操作。valarray被定义成了一个模板类,能够处理不同的数据类型,下面是valarray类的用法介绍://valarray类声明对象的方式#include<valarray>valarray<int> q_values;valarray<double> weights;//valarray构造函数的用法int gba[5] =

2021-01-13 17:01:14 345

原创 C++学习 第十三章

1.继承一个类可以完成的工作可以在已有类的基础上添加功能可以给类添加数据可以修改类方法的行为2.一个简单的基类从一个类派生出另一个类时,原始类称为基类,继承类称为派生类,为说明继承,首先需要一个基类。//tablenn0.h 一个乒乓球基类#ifndef TABLENN0_H_#define TABLENN0_H_#include<string>using std::string;class TableTennisPlayer{private: string fi

2021-01-12 17:14:48 216

原创 C++学习 第十二章

1.复习new和delete以及学习静态类成员// stringbad.h 表示一个正确完成了显而易见的工作,但是有一些有益的功能被省略了的类#include<iostream>#ifndef STRINGBAD_H_#define STRINGBAD_H_class StringBad{private: char * str; int len; static int num_strings; //静态存储类public: StringBad(const char *

2021-01-11 17:19:25 237

原创 C++学习 第十一章

1.重载运算符//重载运算符的函数格式operatorop(arguement-list)operator+() //重载+运算符operator-() //重载-运算符operator[]() //重载[]运算符operator@() //这种情况是不允许的,只能重载C++中拥有的运算符,而不能直接创造运算符一个重载运算符的例子普通实现方式//文件一:myTime0.h#ifndef MYTIME0_H_#define MYTIME0_H_class Time{

2021-01-08 17:49:49 149

原创 C++学习 第十章

1.面向对象编程的最重要的特性抽象封装和数据隐藏继承多态代码可重用性2.C++中的类类是一种将抽象转换为用户定义类型的C++工具,他将数据表示和操纵数据的方法组合成一个简洁的包。类的定义方式1.类声明:以数据成员的方式描述数据部分,以成员函数的方式描述共有接口。2.类方法定义:描述如何实现类成员函数。通常,C++程序员将接口(类定义)放在头文件中,并将实现(类方法的代码)放在源代码文件中。我们也采用这种典型做法,为了帮助识别类,我们使用一个常见但是不通用的约定,将类的首字母大写

2020-12-30 20:33:34 377

原创 C++学习 第九章

1.单独编译和C语言一样,C++允许甚至鼓励将组件函数放在独立的文件中,可以单独编译这些文件,然后把它们链接成可执行的程序。如果只修改了一个文件,则可以只重新编译该文件,然后与其他文件的编译版本进行链接,这会使得大程序的管理更加方便。例如我们要将如下程序分解,将支持函数放在一个独立的文件中,我们需要怎么做呢?#include<iostream>using namespace std;struct fruit{ int apple; int banana;};fruit fru

2020-12-28 15:49:10 303

原创 C++学习 第八章

1.C++的内联函数和普通函数区别C++中普通函数的工作原理:当程序运行到调用函数的代码时,首先程序会在函数调用后的第一时间存储该指令的内存地址,然后通过程序告知的函数所在的内存地址,并且将函数的参数复制到堆栈中,随后跳转到函数起点所在的内存单元,执行完程序之后,如果由返回值,会将返回值放到指定的内存单元或cpu寄存器中,然后跳回到原来保存的内存单元,继续向后执行程序。跳转的过程由一定的开销C++内联函数的工作原理:内联函数不再像普通函数那样,需要跳转到函数存放的单元,内联函数的编译代码和其他程序

2020-12-24 18:13:40 277 1

原创 C++学习 第七章

1.函数的三个要求提供函数定义提供函数原型调用函数//一个简单的函数使用//第一步 声明函数原型void simple();int main(){ using namespace std; //第三步 使用函数 simple(); return 0;}//第二步 定义函数void simple(){ using namespace std; cout << "Shi Yuqi is so cool!";}2.定义函数无返回值的函数没有返回值的

2020-12-23 17:00:03 281 2

原创 C++学习 第五,六章

1.for循环int limit;int i;//for循环的实现方式 通常C++会在for和括号之间加一个空格 而省略函数名和括号的空格for (i = limit; i; i--) cout << "i = " << i << "\n" << endl;//cout.setf()用法cout.setf(ios::boolalpha) //表示设置一个标记,使布尔类型的量用字母显示而非0或者1//C++中的一种新式的for句法规则fo

2020-12-22 19:30:30 216

原创 C++学习 第四章

1.数组的声明存储在每个元素的值的类型数组名数组中的元素数int months[12]; //创建了一个包含12个int型数据的数组//typeName arratName[arraySize];//需要注意的是arraySize只可以使用const值或者整型常数以及常数表达式2.数组的访问数组的下标从0开始编号int months[12];//数组的下标为0~11一共可以表示12个int型数据//months[0]为第一个元素 months[11]为最后一个3.一个小例程

2020-12-22 11:41:41 199

原创 C++复习贴

1.C++文件的编译执行步骤① 在记事本编辑好C++的代码保存为xx.cpp的格式② 在终端中,进入到存放该文件的目录下cd xx/xx/xx//使用cd命令进入到存放该文件的文件夹之中③ 在终端中输入代码g++ test -o xx.cpp//此时会生成一个名为test的可执行文件④ 执行可执行文件,获得结果./test//执行文件的命令2.cout函数#include<iostream>//cout所在的头文件using namespace std;//c

2020-12-22 09:09:06 64

原创 C++学习 第二 三章

1.C++的HelloWorld# include <iostream>using namespace std; // 命名空间int main(){cout << "Hello World !" << endl;/*endl 作用:1.表示摁下回车键 2.确保代码内容立即输出/n 作用:单纯的按下回车键 /t 作用:空格*/}在Linux系统中,C++文件的执行是要使用g++的编译器进行,具体的步骤是:第一步:书写C++代码,将写好的

2020-12-19 15:03:19 310

原创 《视觉SLAM十四讲》笔记——初识SLAM

自主运动能力1.我在什么地方 —— 定位2.周围环境是什么样子的 —— 建图两类传感器1.携带于机器人本体上的:例如轮式编码器,相机,激光等等。2.安装于环境中的:例如导轨,二维码标志等等。安装在环境中的传感器:对于外界环境做了约束,只有在满足条件的情况下才可以正常工作,当然这样就限制了机器人的使用范围。携带于机器人本体上的传感器:他们测量的一般都是间接的物理量而非直接的位置数据,例如轮式编码器会测到轮子转动的角度,IMU会测量运动的角速度和加速度,相机和激光则读取外部环境的某种观测数据。从而

2020-11-26 15:51:51 386

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除