基本类型
IO
qDebug()<<"";
qDebug("%s %d","hello",1);
qInfo()<<
qWarning()<<
qCritical()<<
qFatal()//这个不能使用流输出
2025/10/28大约 6 分钟
qDebug()<<"";
qDebug("%s %d","hello",1);
qInfo()<<
qWarning()<<
qCritical()<<
qFatal()//这个不能使用流输出
ros2 run <pkg_name> <exe_name>
ros2 node list
ros2 node info <node_name>
ros2 run <pkg_name> <exe_name> --ros-args --remap __node:=my_turtle #重命名
ros2 run example_parameters_rclcpp parameters_basic --ros-args -p rcl_log_revel:10 #设置参数
//mutable
class Example{
public:
int set_val const(int value){
value = this.value;
}
private:
mutable int value;
//如果不加mutable,底层不允许在const中修改任何值,但是上面set_val就违反了,所以要加上mutable
}
//auto
//extern 这个我记得之前用的就很少然后忘记了
//thread_local 线程局部存储
//mutable 特异功能缓存,延迟计算
//这里简单介绍一下为什么会经常用到mutable
//比如在很多函数里,都有get_val方法,很多情况下这个val是一个常量,为了避免某些操作val被改变了。
//我们就可以使用 T get_val() const{}使用const修饰一下,这样就很轻松的保护了val
//但是这时候又有了另外的需求,计算val的值需要耗费很多资源,所以我们不能在初始化这个类的时候就计算val
//但是,也不能在get_val()里面计算,因为一来get_val()已经被const修饰了,无法修改;二来,每次get_val()就需要计算一次,更大的资源被耗费了。
//综合解决办法,给val用mutable修饰,允许在get_val()里面修改,同时我再定义一个mutable修饰的is_cal变量,用来记录val是否被计算。
//在每次get_val()我都先访问is_cal,所以,综合下来问题完美解决