测验概述
已完成 0/10 个问题
问题:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
信息
Java 测试
您已完成过测验,因此您不能再测验。
测验载入中...
您必须登入或注册才能开始测验。
您必须先完成以下测验才能开始:
测验结果
答对 0/10 个问题
答题时间:
时间已花费
类别
- 未分类 0%
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 已答
- 回顾
-
1/10问题
1. 问题
关于std::to_address(C++20),错误的是
正确
该函数是通用地址获取工具,不依赖分配器。
错误
该函数是通用地址获取工具,不依赖分配器。
-
2/10问题
2. 问题
以下代码的输出是什么
#include <iostream> #include <memory> struct A { A() { std::cout << "A"; } ~A() { std::cout << "~A"; } }; void foo(std::shared_ptr<A> p) { std::cout << p.use_count(); } int main() { foo(std::make_shared<A>()); std::cout << "end"; }
正确
p在foo内的引用计数为1,函数返回后销毁临时对象,输出顺序确定
错误
p在foo内的引用计数为1,函数返回后销毁临时对象,输出顺序确定
-
3/10问题
3. 问题
关于C++23的std::mdspan,正确的是
正确
多维跨度(mdspan)是C++23引入的非 owning 多维数组视图,支持任意维度
错误
多维跨度(mdspan)是C++23引入的非 owning 多维数组视图,支持任意维度
-
4/10问题
4. 问题
以下代码的编译结果是什么
#include <iostream> template<typename T> void foo(T&& t) { if constexpr (requires { t.push_back(0); }) { t.push_back(42); } } int main() { foo(std::vector{1,2,3}); foo(123); }
正确
C++20的requires表达式在编译期检查成员函数存在性,第二个调用被静默忽略。
错误
C++20的requires表达式在编译期检查成员函数存在性,第二个调用被静默忽略。
-
5/10问题
5. 问题
关于std::hardware_destructive_interference_size,错误的是
正确
该值是平台相关的,通常为64或128字节,不保证跨平台一致。
错误
该值是平台相关的,通常为64或128字节,不保证跨平台一致。
-
6/10问题
6. 问题
以下代码的输出是什么
#include <iostream> #include <scoped_allocator> int main() { using Inner = std::vector<int>; using Outer = std::vector<Inner>; std::cout << std::uses_allocator_v<Outer, std::allocator<int>>; }
正确
嵌套容器自动支持分配器传播,这是std::scoped_allocator的基础机制。
错误
嵌套容器自动支持分配器传播,这是std::scoped_allocator的基础机制。
-
7/10问题
7. 问题
关于C++20的std::bit_cast,正确的是
正确
bit_cast在编译期检查类型大小相同且均可平凡复制,比reinterpret_cast更安全.
错误
bit_cast在编译期检查类型大小相同且均可平凡复制,比reinterpret_cast更安全.
-
8/10问题
8. 问题
以下代码的编译结果是什么
#include <iostream> struct A { virtual void foo() const = 0; }; struct B : A { void foo() const override final { std::cout << "B"; } }; struct C : B { void foo() const override {} }; int main() { C c; }
正确
B::foo被声明为final,C不能再重写该方法。
错误
B::foo被声明为final,C不能再重写该方法。
-
9/10问题
9. 问题
关于std::generator(C++23),错误的是
正确
std::generator自动管理协程帧内存,无需手动干预。
错误
std::generator自动管理协程帧内存,无需手动干预。
-
10/10问题
10. 问题
以下代码的输出是什么
#include <iostream> #include <syncstream> int main() { std::osyncstream sync(std::cout); sync << "Hello" << std::flush; std::cout << "World"; }
正确
std::osyncstream(C++20)保证线程安全且输出操作原子化,flush确保顺序。
错误
std::osyncstream(C++20)保证线程安全且输出操作原子化,flush确保顺序。