Where are the headers of the C++ standard library

前端 未结 6 834
暖寄归人
暖寄归人 2021-02-01 02:58

I wonder where on my file system I find the headers of the C++ Standard library. In particular I am looking for the definition of the vector template. I searched in /usr/inclu

6条回答
  •  眼角桃花
    2021-02-01 03:53

    The file location is actually compiler-dependent.

    You can use the bash tool "locate" to search for any of the files that you know are in the library. eg. "locate stl_multimap.h" for me yields:

    /usr/include/c++/5/bits/stl_multimap.h
    /usr/include/c++/6/bits/stl_multimap.h
    /usr/include/c++/7/bits/stl_multimap.h
    /usr/include/c++/8/bits/stl_multimap.h
    /usr/lib/gcc-snapshot/include/c++/9/bits/stl_multimap.h
    

    Once you have a look at the directories it should become pretty obvious where everything else is too.

    In each of those locations I'll find the different compiler versions of the file. For my computer, all the gcc 7.* files are in my /usr/include/c++/7 directory.

    If for some horrible reason you use Windows, I'm sure that you'll be able to find an equivalent command with Powershell.

提交回复
热议问题