闭卷解释基本类型与值域的编译阶段、对象状态、规则和失败边界。
C++程序设计 · 小纸条
选一章打印。双面打印(按长边翻页)后沿虚线剪开,每张卡片正面题目、背面答案。
闭卷解释初始化不是赋值的编译阶段、对象状态、规则和失败边界。
闭卷解释const与可变性边界的编译阶段、对象状态、规则和失败边界。
闭卷解释引用、指针与空值的编译阶段、对象状态、规则和失败边界。
闭卷解释转换、提升与窄化的编译阶段、对象状态、规则和失败边界。
闭卷解释表达式求值与未定义行为的编译阶段、对象状态、规则和失败边界。
闭卷解释类型安全计算实验的编译阶段、对象状态、规则和失败边界。
规则:initialization selects constructor;任务:写一个能编译运行的最小程序展示“初始化不是赋值”,记录输入、关键对象状态、输出和编译命令,并用规则 initialization selects constructor 解释结果;边界:不得把“初始化不是赋值”只写成语法模板;必须说明类型、所有权/生存期、失败输入、复杂度或并发可见性中与本节有关的边界
规则:range follows representation;任务:写一个能编译运行的最小程序展示“基本类型与值域”,记录输入、关键对象状态、输出和编译命令,并用规则 range follows representation 解释结果;边界:不得把“基本类型与值域”只写成语法模板;必须说明类型、所有权/生存期、失败输入、复杂度或并发可见性中与本节有关的边界
规则:reference aliases; pointer may be null;任务:写一个能编译运行的最小程序展示“引用、指针与空值”,记录输入、关键对象状态、输出和编译命令,并用规则 reference aliases; pointer may be null 解释结果;边界:不得把“引用、指针与空值”只写成语法模板;必须说明类型、所有权/生存期、失败输入、复杂度或并发可见性中与本节有关的边界
规则:const constrains mutation path;任务:写一个能编译运行的最小程序展示“const与可变性边界”,记录输入、关键对象状态、输出和编译命令,并用规则 const constrains mutation path 解释结果;边界:不得把“const与可变性边界”只写成语法模板;必须说明类型、所有权/生存期、失败输入、复杂度或并发可见性中与本节有关的边界
规则:sequencing constrains side effects;任务:写一个能编译运行的最小程序展示“表达式求值与未定义行为”,记录输入、关键对象状态、输出和编译命令,并用规则 sequencing constrains side effects 解释结果;边界:不得把“表达式求值与未定义行为”只写成语法模板;必须说明类型、所有权/生存期、失败输入、复杂度或并发可见性中与本节有关的边界
规则:narrowing can lose information;任务:写一个能编译运行的最小程序展示“转换、提升与窄化”,记录输入、关键对象状态、输出和编译命令,并用规则 narrowing can lose information 解释结果;边界:不得把“转换、提升与窄化”只写成语法模板;必须说明类型、所有权/生存期、失败输入、复杂度或并发可见性中与本节有关的边界
规则:type invariant before calculation;任务:写一个能编译运行的最小程序展示“类型安全计算实验”,记录输入、关键对象状态、输出和编译命令,并用规则 type invariant before calculation 解释结果;边界:不得把“类型安全计算实验”只写成语法模板;必须说明类型、所有权/生存期、失败输入、复杂度或并发可见性中与本节有关的边界