闭卷解释错误码、optional与expected思路的编译阶段、对象状态、规则和失败边界。
C++程序设计 · 小纸条
选一章打印。双面打印(按长边翻页)后沿虚线剪开,每张卡片正面题目、背面答案。
闭卷解释异常的抛出与捕获的编译阶段、对象状态、规则和失败边界。
闭卷解释异常安全保证的编译阶段、对象状态、规则和失败边界。
闭卷解释流式输入输出状态的编译阶段、对象状态、规则和失败边界。
闭卷解释文件与序列化边界的编译阶段、对象状态、规则和失败边界。
闭卷解释断言、契约与日志的编译阶段、对象状态、规则和失败边界。
闭卷解释健壮输入实验的编译阶段、对象状态、规则和失败边界。
规则:throw unwinds to matching handler;任务:写一个能编译运行的最小程序展示“异常的抛出与捕获”,记录输入、关键对象状态、输出和编译命令,并用规则 throw unwinds to matching handler 解释结果;边界:不得把“异常的抛出与捕获”只写成语法模板;必须说明类型、所有权/生存期、失败输入、复杂度或并发可见性中与本节有关的边界
规则:failure channel is part of type/API;任务:写一个能编译运行的最小程序展示“错误码、optional与expected思路”,记录输入、关键对象状态、输出和编译命令,并用规则 failure channel is part of type/API 解释结果;边界:不得把“错误码、optional与expected思路”只写成语法模板;必须说明类型、所有权/生存期、失败输入、复杂度或并发可见性中与本节有关的边界
规则:stream state controls next read;任务:写一个能编译运行的最小程序展示“流式输入输出状态”,记录输入、关键对象状态、输出和编译命令,并用规则 stream state controls next read 解释结果;边界:不得把“流式输入输出状态”只写成语法模板;必须说明类型、所有权/生存期、失败输入、复杂度或并发可见性中与本节有关的边界
规则:basic/strong/nothrow guarantees differ;任务:写一个能编译运行的最小程序展示“异常安全保证”,记录输入、关键对象状态、输出和编译命令,并用规则 basic/strong/nothrow guarantees differ 解释结果;边界:不得把“异常安全保证”只写成语法模板;必须说明类型、所有权/生存期、失败输入、复杂度或并发可见性中与本节有关的边界
规则:assert is not input validation;任务:写一个能编译运行的最小程序展示“断言、契约与日志”,记录输入、关键对象状态、输出和编译命令,并用规则 assert is not input validation 解释结果;边界:不得把“断言、契约与日志”只写成语法模板;必须说明类型、所有权/生存期、失败输入、复杂度或并发可见性中与本节有关的边界
规则:format needs version and validation;任务:写一个能编译运行的最小程序展示“文件与序列化边界”,记录输入、关键对象状态、输出和编译命令,并用规则 format needs version and validation 解释结果;边界:不得把“文件与序列化边界”只写成语法模板;必须说明类型、所有权/生存期、失败输入、复杂度或并发可见性中与本节有关的边界
规则:reject malformed input deterministically;任务:写一个能编译运行的最小程序展示“健壮输入实验”,记录输入、关键对象状态、输出和编译命令,并用规则 reject malformed input deterministically 解释结果;边界:不得把“健壮输入实验”只写成语法模板;必须说明类型、所有权/生存期、失败输入、复杂度或并发可见性中与本节有关的边界