2021年C++律师等级考试:聚焦C++11标准

需积分: 0 0 下载量 22 浏览量 更新于2024-07-01 收藏 265KB PDF 举报
"2021 年 C++ 程式设计語言律師等級考試1" 这篇摘要描述了一场针对C++编程语言的律师等级考试,考试特别指出不涉及多线程和网络编程内容,且考试范围限定于C++11标准。考生无需考虑C++11之后的新特性,并强调所有答案必须写在指定答题区域,闭卷笔试,时长4小时。试题包括选择题,每题至少有一个正确选项,多选、少选或错选均不得分。 以下是基于这些信息的一些C++相关知识点: 1. **C++标准模板库(STL)**:STL是一个包含容器、迭代器、算法和函数对象的标准库,如vector、list、map、set、algorithm等。在考试中,考生可能需要对STL的使用有深入理解。 2. **C++11标准**:C++11是C++的一个重要更新,引入了许多新特性,如右值引用、lambda表达式、自动类型推断(auto)、nullptr、范围for循环等。考生只需关注这个版本之前的语法和特性。 3. **关键字用途**:题目中提到了一些C++的关键字,如`thread_local`、`mutable`、`namespace`、`static`、`constexpr`、`extern`,考生需要知道它们各自的用途和限制。例如,`thread_local`用于声明线程局部存储,`mutable`允许在const成员函数中修改成员变量,`namespace`用于命名空间,`static`在类中表示静态成员,在全局或局部作用域中表示内部链接等。 4. **constexpr和constexpr**:`constexpr`关键字用来声明常量表达式,确保其在编译时就能计算得出。在C++11中,`constexpr`也可以用于函数,表明该函数返回一个编译时常量。 5. **指针和数组**:题目涉及到`void*`类型的指针数组和函数指针数组,考生需要理解不同类型指针间的转换规则,以及如何声明和使用指针和指针数组。 6. **内存管理**:如`extern`关键字声明外部链接的变量,考生应理解不同作用域的内存管理规则。 7. **复合类型和联合体(union)**:联合体是一种特殊的结构体,它的一块内存可以代表多个数据类型。`union`的使用和注意事项是考试内容之一。 8. **类型推断和初始化**:题目中出现了`auto`关键字和列表初始化,考生需要掌握C++11引入的类型推断机制以及如何正确初始化变量。 9. **错误检查和编译错误**:考生需要能够识别和避免导致编译错误的代码,例如不匹配的类型、未声明的标识符、无效的类型转换等。 10. **选择题策略**:由于每题至少有一个正确选项,最多七个选项都正确,考生在解答时需要特别注意题目要求,避免多选、少选或错选。 在准备这类考试时,考生需要全面掌握C++11之前的基础语法、类与对象、模板、异常处理、输入/输出流等核心概念,同时对STL的各个组件有熟练运用的能力。