考场上忘记库函数/STL名称时的应急方法
  • 板块学术版
  • 楼主Andycode3759
  • 当前回复7
  • 已保存回复7
  • 发布时间2023/10/21 10:32
  • 上次更新2023/11/2 12:18:34
查看原帖
考场上忘记库函数/STL名称时的应急方法
837308
Andycode3759楼主2023/10/21 10:32

众所周知,考场上不能看 cppreference.com,但是可以通过浏览头文件的方法来获得库函数和STL容器等的名称拼写,甚至可以通过相关注释了解其大致用法。

各个 Linux 发行版的 include 路径可能不一样,NOI Linux 中所有 C++ 标准头文件都储存在这个目录下:/usr/include/c++/9

然后找到对应的头文件打开即可直接浏览。比如我们熟悉的 vector:

但是你会发现里面并没有 vector 的相关定义,这是因为它嵌套引用了 bits/stl_vector.h 文件,而真正的定义就藏在这里:

可以直接在文件内搜索,比如搜 push 就会得到 push_back 等。

头文件只有函数的相关定义,而不包含具体实现,库函数/STL的实现是由系统二进制组件完成的。

需要注意的是,万能头并不在这个目录下,而是在另一个地方:/usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h

平板电视(pb_ds)相关没有怎么研究过,找了一圈也没找到头文件位置,如果有大佬知道的话欢迎补充。

2023/10/21 10:32
加载中...