闭卷解释函数模板与实例化的编译阶段、对象状态、规则和失败边界。
C++程序设计 · 小纸条
选一章打印。双面打印(按长边翻页)后沿虚线剪开,每张卡片正面题目、背面答案。
闭卷解释类模板与类型参数的编译阶段、对象状态、规则和失败边界。
闭卷解释类型推导与auto的编译阶段、对象状态、规则和失败边界。
闭卷解释概念约束与requires的编译阶段、对象状态、规则和失败边界。
闭卷解释特化、重载和选择的编译阶段、对象状态、规则和失败边界。
闭卷解释编译期计算入门的编译阶段、对象状态、规则和失败边界。
闭卷解释泛型算法实验的编译阶段、对象状态、规则和失败边界。
规则:class template defines a family;任务:写一个能编译运行的最小程序展示“类模板与类型参数”,记录输入、关键对象状态、输出和编译命令,并用规则 class template defines a family 解释结果;边界:不得把“类模板与类型参数”只写成语法模板;必须说明类型、所有权/生存期、失败输入、复杂度或并发可见性中与本节有关的边界
规则:template instantiates for used types;任务:写一个能编译运行的最小程序展示“函数模板与实例化”,记录输入、关键对象状态、输出和编译命令,并用规则 template instantiates for used types 解释结果;边界:不得把“函数模板与实例化”只写成语法模板;必须说明类型、所有权/生存期、失败输入、复杂度或并发可见性中与本节有关的边界
规则:constraints reject invalid operations;任务:写一个能编译运行的最小程序展示“概念约束与requires”,记录输入、关键对象状态、输出和编译命令,并用规则 constraints reject invalid operations 解释结果;边界:不得把“概念约束与requires”只写成语法模板;必须说明类型、所有权/生存期、失败输入、复杂度或并发可见性中与本节有关的边界
规则:deduction follows context;任务:写一个能编译运行的最小程序展示“类型推导与auto”,记录输入、关键对象状态、输出和编译命令,并用规则 deduction follows context 解释结果;边界:不得把“类型推导与auto”只写成语法模板;必须说明类型、所有权/生存期、失败输入、复杂度或并发可见性中与本节有关的边界
规则:constexpr permits compile-time evaluation;任务:写一个能编译运行的最小程序展示“编译期计算入门”,记录输入、关键对象状态、输出和编译命令,并用规则 constexpr permits compile-time evaluation 解释结果;边界:不得把“编译期计算入门”只写成语法模板;必须说明类型、所有权/生存期、失败输入、复杂度或并发可见性中与本节有关的边界
规则:selection chooses most suitable candidate;任务:写一个能编译运行的最小程序展示“特化、重载和选择”,记录输入、关键对象状态、输出和编译命令,并用规则 selection chooses most suitable candidate 解释结果;边界:不得把“特化、重载和选择”只写成语法模板;必须说明类型、所有权/生存期、失败输入、复杂度或并发可见性中与本节有关的边界
规则:generic code states semantic requirements;任务:写一个能编译运行的最小程序展示“泛型算法实验”,记录输入、关键对象状态、输出和编译命令,并用规则 generic code states semantic requirements 解释结果;边界:不得把“泛型算法实验”只写成语法模板;必须说明类型、所有权/生存期、失败输入、复杂度或并发可见性中与本节有关的边界