
cpp
文章平均质量分 82
gophae
这个作者很懒,什么都没留下…
展开
-
如何使用OSQP-Eigen
更多的关于Eigen的学习参考更多的关于OSQP的学习参考我们在github上找到了使用eigen库封装起来的OSQP库,比原来的OSQP写代码时更好用一些。我们对照mathworks对quadprog的例子解释对库的使用一个标准的QP问题可以以如下的标准形式进行描述:注意这里面的写法不同的书本有些不同的表达:H , f 有时候也被写成 P, q.接下来给出几个典型的不同约束的二次规划形式:1,具有线性约束的二次规划matlab的调用方法是:H = [1 -1; -1 2]; f =原创 2021-03-23 15:12:28 · 12709 阅读 · 10 评论 -
Effective C++阅读笔记
1,cpp的四个特点c, object-oriented cpp, template cpp, STL2, 不要用 #define使用 const, enum, inline替换define, 因为我们宁可以编译器替换预处理器。//定义常量charconst char* const autoName = "sm";const string authorName ("sm");在类中定义作用域仅在类中的常量:class GamePlayer{private: static const i原创 2020-10-22 20:43:36 · 3608 阅读 · 0 评论 -
ROS在rviz中实时显示轨迹和点
记录一个简单的例子方便复制:通过使用nav_msgs::Pathgeometry_msgs::PoseStampedgeometry_msgs::PointStamped来实现rviz中可视化轨迹和轨迹点。首先创建工程:mkdir -p showpath/srccd srccatkin_create_pkg showpath roscpp rospy sensor_msgs std_msgs nav_msgs tfcd ..catkin_make 以及修改cmakelist:a原创 2020-09-10 15:20:45 · 16511 阅读 · 4 评论 -
ros::spin() 和 ros::spinOnce()
ROS的回调处理函数spin/spinOnce作用区别使用作用spin/spinOnce是ROS消息回调处理函数。它俩通常会出现在ROS的主循环中,程序需要不断调用ros::spin() 或 ros::spinOnce(),两者区别在于前者调用后不会再返回,也就是你的主程序到这儿就不往下执行了,而后者在调用后还可以继续执行之后的程序。如果你的程序写了相关的消息订阅函数,那么程序在执行过程中,除了主程序以外,ROS还会自动在后台按照你规定的格式,接受订阅的消息,但是所接到的消息并不是立刻就被处理,而是必原创 2020-09-08 10:19:24 · 3781 阅读 · 0 评论 -
浅拷贝和深拷贝
浅拷贝是不会分配新的内存的,深拷贝才能分配。先考虑一种情况,对一个已知对象进行拷贝,编译系统会自动调用一种构造函数——拷贝构造函数,如果用户未定义拷贝构造函数,则会调用默认拷贝构造函数。举一个例子:#include <iostream>using namespace std;class Student{private: int num; char *name;public: Student(); ~Student();};Student:原创 2020-09-03 15:06:47 · 3424 阅读 · 0 评论 -
C++计时器
在一个测试类中,我们重载了构造函数,用计时器观察不同构造函数的构造时间。#include <iostream>#include <ctime>using namespace std;class Test{public: Test() : a_(0), b_(0), c_(0)//列表初始化 { cout << "register constructor(default)." << endl; } T原创 2020-08-31 10:21:18 · 3813 阅读 · 0 评论 -
eigen库学习笔记(2)
这里主要整理矩阵运算相关内容。其中备注了与Matlab的命令对比。eigen库的矩阵运算Eigen 矩阵定义Eigen 基础使用Eigen 特殊矩阵生成Eigen 矩阵分块Eigen 矩阵元素交换Eigen 矩阵转置Eigen 矩阵乘积Eigen 矩阵单个元素操作Eigen 矩阵化简Eigen 矩阵点乘Eigen 矩阵类型转换Eigen 求解线性方程组 Ax = bEigen 矩阵特征值Eigen 矩阵定义#include <Eigen/Dense>Matrix<double,原创 2020-08-17 09:50:46 · 3875 阅读 · 0 评论 -
C++ vector库学习笔记
vector是C++标准模板库,它是一个多功能、能够操作多种数据结构和算法的模板类。vector是一个容器,能够像容器一样存放各种类型的对象。vector是一个能够存放任意类型的动态数组,能够增加和删除元素,可以完全替代C语言风格的动态数组,由于vector能够自动的管理内存,我们不需要考虑内存的增长和释放、具有很好的安全性。vector的初始化//定义具有10个整型元素的向量//(尖括号为元素类型名,它可以是任何合法的数据类型),//不具有初值,其值不确定vector<int>a(1原创 2020-08-02 14:59:22 · 3746 阅读 · 0 评论 -
eigen库学习笔记
#简介Eigen是有关线性代数(矩阵、向量等)的c++模板库。支持SSE2/3/4, ARM NEON (32-bit and 64-bit), PowerPC AltiVec/VSX (32-bit and 64-bit) instruction sets, S390x SIMD (ZVector)#简单的例子原创 2020-07-27 19:34:15 · 1058 阅读 · 0 评论 -
c++内联函数解析(inline)
一、基本定义inline是C++语言中的一个关键字,可以用于程序中定义内联函数,inline的引进使内联函数的定义更加简单。说到内联函数,这里给出比较常见的定义,内联函数是C++中的一种特殊函数,它可以像普通函数一样被调用,但是在调用时并不通过函数调用的机制而是通过将函数体直接插入调用处来实现的,这样可以大大减少由函数调用带来的开销,从而提高程序的运行效率。一般来说inline用于定义类的成员函...原创 2020-05-07 11:09:08 · 528 阅读 · 0 评论