概述
已完成 0/10 个问题
问题:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
信息
C++ 测验 9 - 知行者
您已完成过测验,因此您不能再测验。
测验载入中...
您必须登入或注册才能开始测验。
必须先完成以下测验才能开始:
测验结果
答对 0/10 个问题
答题时间:
时间已花费
您获得 0/0 分数 (0)
类别
- 未分类0%
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 已答
- 回顾
-
关于C++17的std::pmr::memory_resource,错误的是
- 1.
- 2.
- 3.
- 4.
1/10问题正确std::pmr系列容器直接使用memory_resource,无需传统std::allocator。
错误std::pmr系列容器直接使用memory_resource,无需传统std::allocator。
-
以下代码的输出是什么 #include
#include using namespace std::literals; void foo(std::string_view sv) { std::cout << sv; } int main() { foo("hello"s); } - 1.
- 2.
- 3.
- 4.
2/10问题正确std::string可隐式转换为std::string_view,这是安全且高效的转换。
错误std::string可隐式转换为std::string_view,这是安全且高效的转换。
-
关于C++20的std::span,正确的是
- 1.
- 2.
- 3.
- 4.
3/10问题正确std::span要求连续内存(如数组/vector),但本身不拥有数据且可进行边界检查。
错误std::span要求连续内存(如数组/vector),但本身不拥有数据且可进行边界检查。
-
以下代码的编译结果是什么 #include
template void foo() { std::cout << N; } int main() { foo<42>(); foo<3.14>(); } - 1.
- 2.
- 3.
- 4.
4/10问题正确非类型模板参数auto N在C++20前仅允许整型等字面类型,double需要C++20支持。
错误非类型模板参数auto N在C++20前仅允许整型等字面类型,double需要C++20支持。
-
关于std::expected(C++23),错误的是
- 1.
- 2.
- 3.
- 4.
5/10问题正确std::expected可能包含值或错误,这是其核心设计目的
错误std::expected可能包含值或错误,这是其核心设计目的
-
以下代码的输出是什么 #include
#include void log(const std::source_location& loc = std::source_location::current()) { std::cout << loc.line(); } int main() { log(); } - 1.
- 2.
- 3.
- 4.
6/10问题正确C++20的std::source_location会在调用点捕获位置信息(如行号)。
错误C++20的std::source_location会在调用点捕获位置信息(如行号)。
-
关于std::move_only_function(C++23),正确的是
- 1.
- 2.
- 3.
- 4.
7/10问题正确std::move_only_function如其名,仅支持移动语义,适合包装只移动类型。
错误std::move_only_function如其名,仅支持移动语义,适合包装只移动类型。
-
以下代码的编译结果是什么 #include
struct S { constexpr int foo() const { return 42; } virtual constexpr int bar() const { return 0; } }; int main() { constexpr S s; static_assert(s.foo() == 42); } - 1.
- 2.
- 3.
- 4.
8/10问题正确C++20起允许虚函数为constexpr,此代码完全合法
错误C++20起允许虚函数为constexpr,此代码完全合法
-
关于std::format(C++20),错误的是
- 1.
- 2.
- 3.
- 4.
9/10问题正确std::format支持位置参数(如{0})但不是必须的,简单情况可直接用{}。
错误std::format支持位置参数(如{0})但不是必须的,简单情况可直接用{}。
-
以下代码的输出是什么 #include
#include #ifdef __cpp_lib_ranges #include void foo() { std::cout << "Ranges"; } #else void foo() { std::cout << "No Ranges"; } #endif int main() { foo(); } - 1.
- 2.
- 3.
- 4.
10/10问题正确输出取决于编译器是否支持C++20的Ranges库,这是特性测试宏的典型用法。
错误输出取决于编译器是否支持C++20的Ranges库,这是特性测试宏的典型用法。