Home avatar

z2z63/Virtualfuture's Blog

cpp makes me crazy 😇😇😇

右值引用

C++11后引入了右值引用等特性,用来支持移动语义和完美转发,在了解右值引用前,需要了解一些前置的概念

  1. 左值(lvalue) 左值字面意义是在等号左边的值,左值是寻址的,具名的,有标识符的
    有一个特点是,所有声明的变量都是左值
  2. 右值(rvalue) 右值字面意义是在等号右边的值,右值不可寻址,不具名 具体而言:
    • 一个整数字面量是右值,因为它不对应一个内存存储位置,在汇编中,它存在于指令中的立即数字段
    • 一个临时对象是右值,临时对象是为了写连续的表达式而被编译器支持的,当有例如func(obj())时,首先建立一个obj对象,这个对象没有名字,它实际上有一个对于的内存存储位置,但在这行代码执行完后就会被销毁,所以它叫做临时对象

cpp对临时对象有一个限制,因为临时对象是马上就会被销毁的,所以对临时对象的修会被抛弃

MATLAB微积分

所谓数值求解,也就是无法获得解的方程,只能获得y(x)函数在x取值范围内的近似值 所有MATALB的DOE solver都可以解决形如$\frac{\mathrm{d}y}{\mathrm{d}t}=f(t,y)$的微分方程,所以很多时候需要把待求解微分方程化成这种形式,这种形式有几种特点

Linux shell常用快捷键

在linux使用shell时常常会遇到一些使用场景需要大量重复敲击按键,带来了一些麻烦,所以学会一些快捷键是 必备的,但是有些快捷键几乎没用,也没用记忆的必要
首先声明一点,重点是记住快捷键的功能,而不是快捷键的按键绑定,因为对于不同的终端模拟程序,这些功能基本都是 提供的,但是按键绑定可能有所不同(说的就是PowerShell),另外有些终端是支持修改按键绑定的
以下的快捷键按键绑定都是标准的linux shell按键绑定,在Konsole上测试通过

matplotlib在linux平台上显示中文的解决方案

matplotlib 是python的可视化库,但是如果在matplotlib的图表中使用了中文, 会找不到中文字体而显示乱码,网上有很多教程解决这个问题,但是在我的linux上都不管用 经过不断尝试和google,终于找到了方法
可以随便选择能够选择中文的字体,但是要注意font family和字体名称的问题,以下以微软 雅黑为例

Linux搜索神器

使用Linux时,常常需要在文件系统中快速搜索到内容,比如说

  1. 在一个项目中需要快速找到一个文件的路径,需要按照文件名搜索出路径
  2. 想找某个文件,但是完全不知道它在哪里,需要全局搜索
  3. 在一个项目中想要搜索一个特定字符串的出现

可以使用find命令,它是linux大多数发行版都自带的命令