C++ 20 高级编程
第一章 C++和标准库速成
C++速成
小程序”Hello World”
主要是接触引入模块的概念,程序如下:
1 | // hello.cpp |
但是由于目前的gcc
不支持引入模块,所以会报错,我们可以尝试一下,输入如下命令:
其中-fmodules-ts
表示开启模块支持
1 | g++ hello.cpp -std=c++20 -fmodules-ts |
但是很遗憾,目前的gcc
不支持,所以会报错:
引入模块确实是个不错的选择,后续C++
可能就会有自己的包管理器了,C++是世界上最好的语言.py
这里我们替换为头文件即可
关于模块和头文件
在引入模块之前,C++
对于封装通常是函数的声明放在.h
文件中,函数的定义(实现)放在.cpp
文件中,这样进行管理;但是有了模块之后,就不需要进行声明和定义的分离了(但是现在我的编译器不支持我还没办法看到实例…)
关于在C++
中使用C
标准库的头文件,注意:
不适用
.h
后缀,而改为前缀c
,例如< stdio.h >
改为使用< cstdio >
为什么呢?在
C++
中所有的头文件的内容都是放在标准的命名空间std
当中的,这样做是为了防止用户的命名和系统的命名发生冲突,同时也是对标准库的封装做了隔离和保护,使用c
开头的头文件,这些内容都是在std
中的,而.h
就没有import
引入模块可能并不支持C
标准的头文件,所以还是先用#include
吧
一些预处理命令
如下,主要就#include
,#define
,#ifdef
,#ifndef
,#endif
,#pragma
这几个
后续
TODO