Home

Java-Generic

Java-Generic

泛型类, 接口

  • 本质是引入一个或多个T

泛型方法

  • 本质是引入T或者wild cards
  • bounded/unbounded T
  • bounded/unbounded WC

  • 很显然, UWC, BWC的使用下, 仅能用于已有泛型类, 泛型接口的泛型参数, 不同独立的像T一样自由使用, 甚至是add(), put(), set()等创建/修改对象有关的操作无法进行. 容器元素句柄要用Object

Click to read more ...

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 ...