一、开发环境

c++使用的编译器是g++。

  • vim或者vscode
  • clion
  • VS

二、C++版本的Hello World

/** * @brief   c++版本helloworld示例 * @author  Mculover666 * @date    2023/2/26 */#include using namespace std;int main(){    int  a = 1;    double b = 3.14;    char c[] = "str test";    bool flag = false;//常量字符串直接输出    cout << "Hello World!" << endl;//变量值打印    cout << "a = " << a << endl;    cout << "b = " << b << endl;//拼接打印    cout << "c = [" << c << "]" << endl;//逻辑值判断 if (flag)        cout << "yes" << endl;    else        cout << "no" << endl;    return 0;}

三、区别之处

1. 头文件

c++中库的头文件使用不需要带.h,只需要头文件名即可。

2. 命名空间

命名空间是c++中接触第一个比较新的概念,可以理解为java中的包,后面再深入学习。

3. 输出

cout是命名空间std中提供的方法,可以打印输出到控制台,也可以通过std::cout直接使用。

endl是命名空间std中提供的换行符,用于换行,也可以通过在字符串之后添加”\n”换行。

4. 输入

cin是命名空间std中提供给的方法,用于从控制台获取用户输入。

5. bool类型

c++中提供布尔类型bool,值是true和false,本质上true还是1、false还是0,但是有以下两个优点:

  • 相对于c语言中使用零和非零表示逻辑值,可读性更高
  • 相对于c语言中使用int来存储标志位,bool类型只占用一个字节

6. 字符串类型

c++支持使用字符数组来存储字符串:

char text[] = "text1";

c++提供了string类型来创建字符串对象,不用理解,等到掌握类和对象的知识后再了解:

string text = "text1";

string类型在头文件中提供,所以使用时需要包含:

#include 

这两种方式下,第一个text是字符数组,第二个text是一个string类型的对象,都是用来存储字符串内容,但两个是完全不一样的东西,不要混淆。

四、相同之处

  • 基本数据类型
  • 复合数据类型(枚举、结构体、共用体)
  • 分支结构(if、while、for、switch、break、continue)
  • 指针
  • 数组

除了第三节提到的区别之外,这些c语言基础知识可直接使用。

五、c++关键字

c++用到的关键字如下,了解一下即可。

六、c++编译器检查

c++比c更加的语法灵活,没有强语法检查限制,在入门阶段建议带上参数-Werror,开启最高级别的编译器语法检查,将警告直接转换为错误。

g++ -Werror

文章完成于2023.2.26 22:27,耗时1h。