【第一篇章】 C++ 初识

embedded/2025/2/9 9:33:29/

一、进门首先说 say hello

编写 helloworld.cpp 的文件,具体内容如下:

#include <iostream>
using namespace std;
int main()
{cout << "Hello, world!" << endl;return 0;
}

编译文件

g++ helloworld.cpp -o helloworld

运行文件

./helloworld

在控制台上可以看到输出结果

Hello, world!

二、注释

// 单行注释

/*...*/ 多行注释

三、基本数据类型

  • 布尔类型:bool
  • 字符型:char
  • 整型:int
  • 浮点型:float
  • 无类型:void
  • 宽字符型:wchat_t

四、类型修饰符

  • 有符号类型(默认):signed int x = -10;
  • 无符号类型:unsigned int y = 10;
  • 短整型:short int z = 100;
  • 长整型:long int a = 100000;
  • 常量,值不可更改:const int b = 5;
  • 变量可能被意外修改,禁止编译器优化: volatile int c = 10;
  • 类成员可以在 const 对象中修改:mutable int counter;

五、派生数据类型

  • 数组:相同类型元素的集合:int arr[5] = {1, 2, 3, 4, 5};
  • 指针:存储变量内存地址的类型:int* ptr = &x;
  • 引用:变量的别名:int& ref = x;
  • 函数:函数类型,表示函数的签名: int func(int a, int b);
  • 结构体:用户定义的数据类型,可以包含多个不同类型的成员:struct Point { int x; int y};
  • 类:用户定义的数据类型,支持封装、继承、多态:class MyClass {...};
  • 联合体:多个成员共享一块内存:union Data { int i; int f}
  • 枚举:用户自定义的整数常量集合: enum Color { RED, GREEN, BLUE}

六、类型别名

  • 为现有类型定义别名:typedef :typedef int MyInt
  • 为现有类型定义别名:using: using MyInt = int

七、标准库类型

  • 字符串类型:std::string:std:string s = "Hello";
  • 动态数组:std::vector: std::vector<int> v = {1, 2, 3};
  • 固定大小数组:std::array: std::array<int, 3> a = {1, 2, 3};
  • 存储两个值的容器:std::pair: std::pair<int, float> p(1, 2.0);
  • 键值对容器:std:map: std::map<int, std::string> m;
  • 唯一值集合:std::set<int> s = {1, 2, 3};

http://www.ppmy.cn/embedded/160770.html

相关文章

python中的flask框架

Flask 是一个用Python编写的轻量级Web应用框架 基于WSGI和Jinja2模板引擎 被称为“微框架”&#xff0c;其核心功能简单&#xff0c;不捆绑数据库管理、表单验证等功能&#xff0c;而是通过扩展来增加其他功能 Flask提供最基本的功能&#xff0c;不强制使用特定工具或库 通…

认识网络安全

一 网络攻击链 踩点-工具准备-载荷投递-漏洞利用-释放载荷-建立通道-目标达成 简化下&#xff1a; 目标侦察&#xff1a;准确识别目标&#xff0c;收集目标详细信息&#xff0c;比如 网络、 邮箱、员工、社会关系、对外提供服务、漏洞 信息等&#xff0c;为 后续攻击做准备。…

Java实现状态模式

一、简介 1、定义 状态模式 (State Pattern)是一种行为型设计模式&#xff0c;允许对象在内部状态改变时改变它的行为。通过定义状态接口和具体状态类&#xff0c;将对象的状态和行为分开&#xff0c;使得状态改变时可以改变行为。 2、状态模式的结构 状态模式涉及以下几个角…

【C语言】C语言经典面试题详解

文章目录 引言1. 指针与数组1.1 指针与数组的区别1.2 指针数组与数组指针 2. 内存管理2.1 malloc与free2.2 内存泄漏与悬空指针 3. 函数指针3.1 函数指针的定义与使用3.2 回调函数 4. 结构体与联合体4.1 结构体的内存对齐4.2 联合体的使用场景4.3 位段 5. 预处理器与宏5.1 宏定…

直接插入排序

一&#xff1a;直接插入排序是什么。 二&#xff1a;如何实现直接插入排序 三&#xff1a;直接插入排序时间复杂度 一&#xff1a;直接插入排序它是排序得一种&#xff0c;其目的无非是将乱序通过排序排成有序的。 我们可以通过动画直观看什么是直接插入排序 这是我找的直接…

leetcode 1905. 统计子岛屿

题目如下 数据范围 示例 本题只要在遍历图二岛屿的时候检查图一对应位置是否是陆地即可。通过代码 class Solution { public:bool su true;int countSubIslands(vector<vector<int>>& grid1, vector<vector<int>>& grid2) {int n grid1.…

(免费送源码)计算机毕业设计原创定制:C#+Asp.Net+SQL Server C#(asp.net)大学生创新创业项目管理系统

摘 要 随着科学技术的飞速发展&#xff0c;社会的方方面面、各行各业都在努力与现代的先进技术接轨&#xff0c;通过科技手段来提高自身的优势&#xff0c;高校当然也不例外。大学生创新创业项目管理系统是以实际运用为开发背景&#xff0c;运用软件工程原理和开发方法&#…

书籍《新能源汽车动力电池安全管理算法设计》和《动力电池管理系统核心算法》脑图笔记

目录 一、阅读背景二、《新能源汽车动力电池安全管理算法设计》脑图笔记三、《动力电池管理系统核心算法》脑图笔记四、后记参考学习 一、阅读背景 如今身处新能源动力电池行业&#xff0c;欲对动力电池相关算法做一些了解&#xff0c;通过查找相关电子书app&#xff0c;最后找…