以前看到C++里的双冒号就觉得新奇,最早的时候还因为以为是四个点而好奇是怎么从键盘输入的。现在明白双冒号是域操作符,表明某个类型具体对应的库。
今天碰到的是std::string、std::vector和std::ifstream,在/usr/include/c++/4.1.1/string中有一句
#include <bits/stringwd.h>
查看/usr/include/c++/4.1.1/bits/stringfwd.h之后发现有
typedef basic_string<char> string;
在/usr/include/c++/4.1.1/bits/basic_string.h中有对class basic_string的定义,这似乎是一个模板类。
在/usr/include/c++/4.1.1/vector中有一句
#include <bits/stl_vector.h>
在/usr/include/c++/4.1.1/bits/stl_vector中有对class vector的类型说明,这也是一个模板类。
在/usr/include/c++/4.1.1/iosfwd中有
typedef basic_ifstream<char> ifstream;
不过我没有找到basic_ifstream的定义。
https://blog.sciencenet.cn/blog-117333-465979.html
上一篇:
C/C++语言学习笔记(二)gsl相关内容下一篇:
C/C++语言学习笔记(四)gsl的随机数产生