当前位置: 首页 > news >正文

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;elsecout << "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。

http://www.lryc.cn/news/31690.html

相关文章:

  • 【C++】仿函数 -- priority_queue
  • 盘一盘C++的类型描述符(一)
  • Peppol的发展史和基本框架
  • Linux-GCC介绍+入门级Makefile使用
  • iOS(一):Swift纯代码模式iOS开发入门教程
  • IDEA+Python+Selenium+360浏览器自动化测试
  • 运输层概述及web请求
  • python与pycharm从零安装
  • 叠氮试剂943858-70-6,Azidobutyric acid NHS ester,叠氮-C3-活性酯
  • pycharm激活虚拟环境时报错:无法加载文件activate.ps1,因为在此系统上禁止运行脚本,Windows10系统
  • 刷题小抄4-数组
  • Hbase安装
  • 面向对象设计模式:结构型模式之代理模式
  • CCF大数据专家委员会十周年纪念庆典纪实:拥抱数字时代,展望科技未来
  • Qt学习3-Qt Creator四则运算计算器(哔站视频学习记录)
  • 学习 Python 之 Pygame 开发魂斗罗(九)
  • 最简单的SpringBoot+MyBatis多数据源实现
  • Spring Boot 3.0系列【8】核心特性篇之SpringApplication
  • Nginx的搭建与核心配置
  • Java学习笔记 --- jQuery
  • 华为OD机试题,用 Java 解【字符串加密】问题
  • 软聚类算法:模糊聚类 (Fuzzy Clustering)
  • Java Web 实战 02 - 多线程基础篇(1)
  • C/C++开发,无可避免的多线程(篇三).协程及其支持库
  • 高级信息系统项目管理(高项 软考)原创论文项目背景合集
  • 锁屏面试题百日百刷-Hive篇(十一)
  • 一看就懂,等保2.0工作流程这么做
  • Kerberos 域委派攻击之非约束性委派
  • 【容器运行时】一文理解 OCI、runc、containerd、docker、shim进程、cri、kubelet 之间的关系
  • spark兼容性验证