摘要:
线程库的基本使用 一个简单的多线程程序 #include <iostream> #include <thread> void printHelloWorld() { std::cout << "Hello World" << std::endl; } int main(int argc, char 阅读全文
摘要:
面向对象的程序设计(OOP) OOP:概述 面向对象程序设计的核心思想是数据抽象、继承和动态绑定。 继承 通过继承联系在一起的类构成一种层次关系。通常在类的根部有一个基类,其他类则直接或间接地从基类继承而来,这些继承得到的类称为派生类。基类负责定义在层次关系中所有类共同拥有的成员,而每个派生类定义各 阅读全文
摘要:
# ROS 命令行的使用 ## 以小海龟为例 **启动 ROS Master** ` rosrun turtlesim turtlesim_node` **启动海龟控制节点** `$ rosrun turtlesim turtle_teleop_ 阅读全文
摘要:
# 条款 01:视 C++ 为一个语言联邦 为了理解 C++ 需要认识其主要的次语言 * C (C 语言) * Object-Oriented C++ (面向对象 C++) * Template C++ (模板 C++) * STL (标准模板库) **请记住** * C++ 高效编程守则视状况而变 阅读全文
摘要:
汇编语言 debug 是 DOS、Windows 都提供的实模式(8086 方式)程序的调试工具。 R 命令查看、改变 CPU 寄存器的内容 D 命令查看内存中的内容 E 命令改写内存中的内容 U 命令将内存中的机器指令翻译成汇编指令 T 命令执行一条机器指令 A 命令以汇编指令的格式在内存中写入一 阅读全文
摘要:
# 基本概念 重载的运算符是具有特殊名字的函数:它们的名字由关键字 operator 和其后要定义的运算符号共同组成。和其他函数一样,重载的运算符也包含返回类型、参数列表以及函数体。 重载运算符函数的参数数量与该运算符作用的运算对象数量一样多。 **当一个重载的运算符是成员函数时,this 绑定到左 阅读全文
摘要:
一个类通过五种特殊的成员函数来控制这些操作,包括: * 拷贝构造函数 * 拷贝赋值运算符 * 移动构造函数 * 移动赋值运算符 * 析构函数 拷贝和移动构造函数定义了当用同类型的另一个对象初始化本对象时做什么。 拷贝和移动赋值函数运算符定义了将一个对象赋予同类型的另一个对象时做什么。 析构函数定义了 阅读全文
摘要:
对于栈对象,仅在其定义的程序块运行时才存在;static 对象在使用之前分配,在程序结束时销毁 除了静态内存和栈内存,每个程序还拥有一个内存池。这部分内存被称作自由空间或堆。程序用堆来存储动态分配的对象——即那些在程序运行时分配的对象。 动态对象的生存期由程序来控制,也就是说,当动态对象不再使用时, 阅读全文
摘要:
两个主要的关联容器:set 和 map map 和 multimap 定义在头文件 map 中; set 和 multiset 定义在头文件 set 中; 无序容器定义在 unordered_map 和 unordered_set 中 按关键字有序保存元素 map 关联数组;保存关键字-值对 set 阅读全文
摘要:
泛型算法 “算法”:是因为它们实现了一些经典算法的公共接口,如排序和搜索 “泛型的”:是因为它们可以用于不同类型的元素和多种容器类型(不仅包括标准库类型,如 vector 或 list,还包括内置的数组类型),以及我们将看到的,还能用于其他类型的序列。 概述 大多数算法都定义在头文件 algorit 阅读全文