C++17 / expression debugger

运算符签名与求值追踪器

一个符号最终仍会落到函数调用。先看签名如何约束调用,再沿时间线观察对象身份、旧值与失败状态。

提交失败 / 修改
等价函数调用
放置方式
参数契约
返回契约

before

after / result

复合赋值链

按右结合顺序逐步执行 a += (b += c)

  1. 等待执行;三个对象各自保存独立值。

流输入的“先解析,再提交”

比较成功输入与格式错误时的目标对象状态

尚未读取target = USD{123}; in.fail() = false