Home

Fold-Expression

Fold-Expression

作用

  • 避免模板参数变长的basic case, 单独做函数实现(函数模板重载, 更具体, 更特化)
  • 适用于模板参数变长, 当且仅当只有一个变长参数
  • 记住, 折叠展开后, 再求值, 展开过程不求值
  • 不要YY编译器过程, 依旧不改变上下文语义(sizeof...(Args/args), 我的函数被调用多次等)

Click to read more ...

JavaReview

泛型

  • 类方法泛型: 泛型参数必须为自己引入, 不能使用类引入的泛型参数

  • 泛型类, 泛型方法的声明语法对比, 前者Name<T extends/super>, 后者<T extends/super>位于返回值之前, 参数/局部变量中的使用只能T

    • 显然, bounded只能用于泛型类, 泛型方法, 泛型句柄声明(此时只能WC), 不可作为真正参数(实参)

    • 这种问题引发的叫做: 泛型的使用, 泛型句柄的操作受限
    • 记住此时是使用, 不是定义, 声明泛型, 此时要么完全定死类型, 要么WC
    • 而定义, 声明时, 是要么T抽象, 要么WC抽象

Click to read more ...

JavaLambda

Lambda

  • 匿名内部类语法糖 (sugar)+ 强大类型推导
  • 妥协于裸奔函数, 不会生成内部类class
  • java.util.function.* => FP
  • Function类方法
  • UnaryOperator<T>, BinaryOperator<T>.apply()
  • UnaryPredict<T>, BinaryPredict<T>
  • Supplier<T>返回值限制接口
  • Consumer<T>参数限制接口

Click to read more ...

template拾遗

关于模板与友元

  • 类模板的友元
    • 一般上, 此类是所有实例的友元类
    • 常用形式是, 模板参数作为这个实例友元类
  • 类模板的友元函数
    • 一般上, 此函数是所有实例的友元函数
  • 类模板的友元类模板
    • 重新使用一系列模板参数 => trival
    • 关于能否使用外部类模板的参数做特例化/偏特化声明template <>/减少个数 => 作用域不同不允许特化声明
    • 使用和外部一样的模板参数, 或部分参数 => appro one to one 友元

Click to read more ...

Java-CPP-Concurrence

Java-CPP-Concurrency

这里只讨论线程机制 即线程原语, 线程通信, 线程同步互斥

Java

单一/任一线程有限状态机

  • 继承Thread, Override public void run()创建对象, 将达到同如下的效果

Click to read more ...

CalibrationLearning

CalibrationLearning

Principles

中心投影参数

  • 相机内参
    • f, 焦距, 中心投影(perspective projection)模型中, 假设为投影中心, 距离成像平面(光屏)为f
    • dx, dy, 光屏平面的量子化, 离散化的单位, 即像素的物理尺寸(nx * dx == screen width)
    • u0, v0, 光(主)轴与光屏的交点的像素/图像坐标(按照习惯, 图像坐标取左下为原点), 模型中, 认为u0, v0在图像坐标矩形中心
    • (x, y, z) => {(u, v)} 世界坐标映射像素坐标, 默认取z轴为主轴, 即投影方向的世界坐标为z轴(与图形学规定的方向正负相反)
    • a1
    • Y / y = X / x = Z / fu = u0 + x / dx, v = v0 +y / dy
    • a2
    • 由此得到内参矩阵

Click to read more ...