C++基础 | 从C到C++快速过渡

Posted Mculover666

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++基础 | 从C到C++快速过渡相关的知识,希望对你有一定的参考价值。

一、开发环境

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

  • vim或者vscode
  • clion
  • VS

二、C++版本的Hello World

/**
 * @brief   c++版本helloworld示例
 * @author  Mculover666
 * @date    2023/2/26
 */

#include <iostream>
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类型在头文件<string.h>中提供,所以使用时需要包含:

#include <string>

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

四、相同之处

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

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

五、c++关键字

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

六、c++编译器检查

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

g++ -Werror

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

以上是关于C++基础 | 从C到C++快速过渡的主要内容,如果未能解决你的问题,请参考以下文章

怎么从C语言过渡到C++

怎么从C语言过渡到C++

从C过渡到C++——换一个视角深入数组[初始化]

有 C 基础,如何快速过度到 C++?

有 C 基础,如何快速过度到 C++?

当我从 C 和 C# 过渡到 C++ 时,我可以期待有啥不同?