C++
威士忌燕麦拿铁
SLAM小白一枚
展开
-
ROS常用命令
1 Environment# 打印当前终端下的ROS的环境变量# 如果没有所需要的,则需要source一下setup.*shprintenv | grep ROS# 添加环境变量source /opt/ros/melodic/setup.bash2 Workspace新建工作空间mkdir -p ~/catkin_ws/src # -p递归创建目录cd ~/catkin_ws/catkin_make配置catkin_ws的环境source ~/catkin_ws/devel/原创 2020-12-03 17:50:13 · 424 阅读 · 0 评论 -
ROS使用自定义的msg发送topic
1 新建工作空间mkdir -p ~/catkin_ws/srccd ~/catkin_ws/catkin_make2 新建功能包cd ~/catkin_ws/src# catkin_create_pkg 功能包名 [依赖功能包1] [依赖功能包2]...catkin_create_pkg msgtest std_msgs roscpp3 新建msg文件cd ~/catkin_ws/src/msgtest/mkdir msgcd msg/vim msg1.msg在msg1.m原创 2020-12-03 16:57:55 · 881 阅读 · 0 评论 -
C/C++注释规范
转载自https://www.cnblogs.com/aspiration2016/p/8433122.htmlDoxygen是一种开源跨平台的,以类似JavaDoc风格描述的文档系统,完全支持C、C++、Java、Objective-C和IDL语言,部分支持PHP、C#。鉴于Doxygen良好的注释风格,故基于Doxygen以形成自己的注释规范。1 标注总述//-------------------------------------------------------------------//原创 2020-10-13 12:17:44 · 14363 阅读 · 2 评论 -
C++书籍推荐
引自侯捷对《More Effective C++》的译序C++相关书籍车载斗量,如天上繁星,如过江之鲫。广博如四库全书有之:C++ PrimerC++ Programming LanguageThinking in C++深重如重山复水者有之:The Annotated C++ Reference ManualInside the C++ Object Model细说历史者有之:The Design and Evolution of C++Rumination on C+.原创 2020-10-12 22:21:20 · 386 阅读 · 0 评论 -
类型说明符auto和decltype
类型说明符auto和decltypeauto和decltype都是C++11标准提出来的类型说明符,都可以通过编译器自动推断出表达式的类型,从而用这个类型定义新的变量,如:double v1 = 9.8, v2 = 1.3;auto v3 = v1 + v2;decltype(v1 + v2) v4;// 我们可以通过typeid().name()来查看变量的类型,需要加上头文件typeinfo// 可以看到v3和v4的类型都是d,即double类型cout << typeid(原创 2020-10-05 12:27:41 · 247 阅读 · 0 评论 -
枚举enum
枚举类型enumC++中,枚举类型(enumeration) 是一个被命名的整型常量的集合。和类一样,每个枚举类型定义了一种新的类型。枚举属于字面值常量类型。C++包含两种枚举:限定作用域的和不限定作用域的。限定作用域的枚举类型限定作用域的枚举类型(scoped enumeration)定义形式如下:enum class open_modes {input, output, append};首先是关键字enum class(或者是等价的使用enum struct),随后是枚举类型名字以及用花括号原创 2020-09-29 17:18:46 · 177 阅读 · 0 评论 -
泛型编程之模版
泛型编程面向对象编程(OOP)和泛型编程都能处理在编写程序时不知道类型的情况。不同之处在于:OOP能处理类型在程序运行之前都未知的情况;而在泛型编程中,在编译时就能获知类型了。(这句话还得慢慢去理解)模板是C++中泛型编程的基础。一个模板就是一个创建类或者函数的蓝图或者说公式。当使用一个vector这样的泛型类型,或者find这样的泛型函数时,我们提供足够的信息,将蓝图转换为特定的类或函数。1 函数模板函数模板的定义假定我们希望编写一个函数来比较两个变量的大小,在实际中,由于变量的类型不同,我们可原创 2020-09-29 14:21:03 · 91 阅读 · 0 评论 -
动态内存与智能指针
动态内存与智能指针1 对象和内存程序中对象的种类和生命周期全局对象:在程序启动时分配,在程序结束时销毁。局部自动对象:在进入定义它的程序块时被创建,在离开块时销毁。局部static对象:在第一次使用前分配,在程序结束时销毁。动态分配对象:动态分配的对象的生存期由程序来控制,只有当它们被程序显式地释放时,这些对象才会被销毁。内存的种类静态内存:用来存放局部static对象、类static数据成员以及定义在任何函数之外的变量。栈内存:用来存放定义在函数内的非static对象。原创 2020-09-29 10:00:37 · 120 阅读 · 0 评论 -
一篇文章搞定Const限定符
Const限定符const对象就是值不能被改变的“变量”,我们只能在const类型的对象上执行不改变其内容的操作。1 初始化const对象必须初始化,初始值可以是任意复杂的表达式。const int i = 512;const int j = get_size();我们可以用非const类型的对象去初始化const对象。int i = 512;cosnt int ci = i;默认情况下,const对象仅在文件内有效。如果想在多个文件间共享const对象,必须在变量的定义之前添加ext原创 2020-09-22 08:52:34 · 154 阅读 · 0 评论