首发于less is more

新时代 C++ 面试题

  1. 已知如下函数
auto Foo(std::ranges::view auto r) 
{ 
    using namespace std::views;
    return r 
        | transform([](int x) { return std::to_string(2 * x); }) 
        | filter([](const std::string& s) { return s.size() > 2; });
}

Foo<std::ranges::iota_view<int>>mangle 后的名字是什么?

2.

std::vector<std::tuple<std::unordered_map<std::string, int>, std::map<int, int>>> vec;
vec.emplace_back();

在最新的 libstdc++ 下会实例化多少个模板?

3.

const std::vector<int> vec = {4, 5, 6};
std::partition(vec.begin(), vec.end(), [](int x) { return x > 5; });

这段代码会让 GCC 10 输出多少行的编译错误?

4. 最新的标准草案中出现字母 b多少次?(考虑大小写)

附加题:使用 CMake 实现堆排序。

编辑于 2020-03-30 10:32