闭卷解释函数契约与参数的编译阶段、对象状态、规则和失败边界。
C++程序设计 · 小纸条
选一章打印。双面打印(按长边翻页)后沿虚线剪开,每张卡片正面题目、背面答案。
闭卷解释值传递、引用传递与const引用的编译阶段、对象状态、规则和失败边界。
闭卷解释返回值与值类别初识的编译阶段、对象状态、规则和失败边界。
闭卷解释重载与默认参数的编译阶段、对象状态、规则和失败边界。
闭卷解释递归与调用栈的编译阶段、对象状态、规则和失败边界。
闭卷解释lambda与可调用对象的编译阶段、对象状态、规则和失败边界。
闭卷解释函数组合实验的编译阶段、对象状态、规则和失败边界。
规则:copy versus alias is observable;任务:写一个能编译运行的最小程序展示“值传递、引用传递与const引用”,记录输入、关键对象状态、输出和编译命令,并用规则 copy versus alias is observable 解释结果;边界:不得把“值传递、引用传递与const引用”只写成语法模板;必须说明类型、所有权/生存期、失败输入、复杂度或并发可见性中与本节有关的边界
规则:contract=precondition+postcondition;任务:写一个能编译运行的最小程序展示“函数契约与参数”,记录输入、关键对象状态、输出和编译命令,并用规则 contract=precondition+postcondition 解释结果;边界:不得把“函数契约与参数”只写成语法模板;必须说明类型、所有权/生存期、失败输入、复杂度或并发可见性中与本节有关的边界
规则:overload resolution chooses best match;任务:写一个能编译运行的最小程序展示“重载与默认参数”,记录输入、关键对象状态、输出和编译命令,并用规则 overload resolution chooses best match 解释结果;边界:不得把“重载与默认参数”只写成语法模板;必须说明类型、所有权/生存期、失败输入、复杂度或并发可见性中与本节有关的边界
规则:return transfers a value;任务:写一个能编译运行的最小程序展示“返回值与值类别初识”,记录输入、关键对象状态、输出和编译命令,并用规则 return transfers a value 解释结果;边界:不得把“返回值与值类别初识”只写成语法模板;必须说明类型、所有权/生存期、失败输入、复杂度或并发可见性中与本节有关的边界
规则:closure stores captures;任务:写一个能编译运行的最小程序展示“lambda与可调用对象”,记录输入、关键对象状态、输出和编译命令,并用规则 closure stores captures 解释结果;边界:不得把“lambda与可调用对象”只写成语法模板;必须说明类型、所有权/生存期、失败输入、复杂度或并发可见性中与本节有关的边界
规则:depth follows subproblem chain;任务:写一个能编译运行的最小程序展示“递归与调用栈”,记录输入、关键对象状态、输出和编译命令,并用规则 depth follows subproblem chain 解释结果;边界:不得把“递归与调用栈”只写成语法模板;必须说明类型、所有权/生存期、失败输入、复杂度或并发可见性中与本节有关的边界
规则:small functions compose by contracts;任务:写一个能编译运行的最小程序展示“函数组合实验”,记录输入、关键对象状态、输出和编译命令,并用规则 small functions compose by contracts 解释结果;边界:不得把“函数组合实验”只写成语法模板;必须说明类型、所有权/生存期、失败输入、复杂度或并发可见性中与本节有关的边界