- 博客(7)
- 收藏
- 关注
原创 Tx2 通过内核编译来获取ttyUSB* 以及ttyACM*的设备名
最近由于学校实验室准备参加ICRA的DJI AI Challenge ,所以我在使用TX2跑ROS。我用的是ubuntu 16.04, ros kinetic版本。然后遇到了一些问题。再插上通信串口之后usb并没有反应。通过lsusb命令可以看到对应的usb设备。但是在使用ls /dev时却无法找到对应的设备名。经过一番查找发现是tx2缺少这部分的驱动程序,需要我们自己编译内核安装。...
2019-02-28 09:43:38 2723
原创 Effective C++条款05~06
条款05:了解C++默默编写并调用了哪些函数big three:拷贝构造函数 拷贝赋值函数operator= 析构函数当我们像下面编写一个类的时候:class Empty{public:private:};我们可能会觉得,这个类是空的,没有任何内容。但是,实际上,我们这种想法是错误的,当我们这样声明一个类时,我们会得到一些编译器为我们的类自动声明的函数。他们包括:...
2019-02-27 16:48:48 196
原创 C++类转换函数
用转换构造函数可以将一个指定类型的数据转换为类的对象。但是不能反过来将一个类的对象转换为一个其他类型的数据(例如将一个Complex类对象转换成double类型数据)。C++提供类型转换函数(type conversion function)来解决这个问题。类型转换函数的作用是将一个类的对象转换成另一类型的数据。如果已声明了一个Complex类,可以在Complex类中这样定义类型转换函数:...
2019-02-26 10:56:44 570
原创 Effective C++条款04:确定对象被使用前已先被初始化
条款04:确定对象被使用前已先被初始化在这一条款中,我们学到的最重要的一点就是,一定要在定义变量时进行初始化。因为读取未初始化的值会导致不明确的行为。其实,在这一条款中,我们应该注意到的是,初始化和赋值的区别。在对象的成员函数中,我们常常将赋值和初始化的行为混淆。初始化是发生在对象调用构造函数之前,在构造函数内对变量的操作都是赋值操作。其中,构造函数中进行初始化的方法也就是最重要的初始化列...
2019-02-26 00:27:18 170
原创 C++面向对象编程《2》--类和类之间的三大关系
复合(Composition)、委托(Delegation)、继承(Inheritance) 一、复合的形式:在A类中定义了一个B类的对象,然后A类的所有实现都通过B类的函数实现,类似于对B类成员函数的再次封装。具体的实例代码如下: 两者之间的关系: 二、委托:在A类中定义了一个指向B类的指针变量,A类中所需要的操作都在B类中进行声明和定义...
2019-02-24 21:45:33 393
原创 Effective C++条款03:尽可能地使用const
条款三:尽可能地使用const首先,我们需要知道const的作用:const是C++中的关键字,它允许我们指定一个语义的约束。const分为两种: 1、顶层const: 顶层const的语法位置处于指针的右边,其作用是表明该指针不可指向其他对象,即:指针的自身是一个常量。 eg:char *...
2019-02-23 17:31:19 215
原创 侯捷--C++面向对象编程《1》--操作符重载
最近在通过侯捷的C++视频重新温习C++的基本语法,由此,记下一些自己认为比较重要的笔记。 重载的限制:1、重载后的运算符必须至少有一个操作数类型是由用户定义的,这将防止用户为标准类型重载运算符。2、使用运算符时不能违反原来的语法规则。3、不能创建新的运算符。4、不能重载以下的运算符: ①sizeof sizeof运算符 ...
2019-02-22 20:30:27 176
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人