Home

Java-CPP-Pattern

Java-CPP-Pattern

Java

  • Pattern class
    • Pattern.compile(exp, tags)构造
    • .split(input, +/-0)
    • .matcher() return Matcher
  • Matcher class
    • .matches() 全字符串匹配
    • .lookingAt() 无时间效应 => reset(new Input String)
    • .find(fromIndex = 0)有时间效应, .regin([, ))
    • .lookingAt().find()之后, 可使用
      • .start(index = 0)
      • .end(index = 0)
      • .group(index = 0)
    • .repalceAll()repalceFirst()
    • .appendReplacement() => before find()
    • .appendTail() => after find()

Click to read more ...

Java-IO

System.out 是PrintStream 简单修饰FilterOutputStream(好用API) 或者是实现了FilterOutputStream接口 System.in 是 InputStream接口下的FileInputStream

  • 二进制流, 使用byte[]
    • InputStream => File/Filter/ByteArray/PushbackInputStream => DataInputStream
      • BfuferedInputStream 修饰缓冲read()
      • 字符集参数
    • OutputStream => File/Filter/ByteArrayOutputStream => DataOutputStream, PrintStream
      • BufferedOutputStream 修饰缓冲write()
      • autoflush flag, append flag
      • 字符集参数
  • By fileName

Click to read more ...

CPP-Exception-Advanced

CPP-Exception-Advanced

已知 异常类/异常对象, CPP-runtime/编译器会维护一个副本copy 进入catch-handler时, 在try子句中, 编译器管理已构造局部对象(非指针), 进行析构 具体同如下DO

Click to read more ...

CPP-template-advanced-continuation

CPP-template-advanced-continuation

  • T(args…) 构造 => 匿名对象是(非const)右值, 类似函数对象返回 => 难以体现右值性(与对象相关的右值)
  • 什么是右值 => 任何exp(除了[], *解引用)值(operator相关), 函数返回值, 匿名构造
  • 什么是左值 => 类型声明, 实例化对象
  • 右值/左值差别 => 语义(semantic)相关, 运算符(operator)相关, 小命长短相关
  • 注意const右值 当且仅当对于对象才有意义
  • const右值引用也存在, 可以绑定const/非const右值

    只是为了语法的完整性而存在, 无法触发真正的移动语义 => 因为无法进行steal operation => 进而没B用 如move constructor, move assignment, std::move()返回无意义啊 将只会触发copy assignment, 即 const T& 范式

Click to read more ...

CPP-template-advanced

CPP-template-advanced

成员模板

  • 成员函数模板
    • 类成员 => 由函数模板参数确定函数实例
    • 模板成员 =>2套前缀 由类模板参数确定类实例, 函数模板参数确定函数实例

      1套前缀时, 类模板的成员一定是函数模板(即成员模板)

Click to read more ...

JS-Weak-Type

JS-Implicit-Type-Conversion

T -> Number/算数类型

Number() 显式构造

  • String
    • 空 => 0
    • 合法字面值 => parse正确
    • 不具有parseint, parsefloat的灵活性
  • Boolean
    • t/f => 1/0
  • null => 0
  • undefined => NaN
  • Function, Date, RegExp, Array, Customized Type(等等种种引用类型)
    • 先toString(), 再遵循第一条

Click to read more ...