C++-基础

C++语言介绍
C++ 是一种通用编程语言,具有高性能、灵活性和广泛的应用领域。它是在 1979 年由 Bjarne Stroustrup 开发的,最初被称为“C with Classes”,随后在 1983 年正式更名为 C++。C++ 基于 C 语言,同时引入了面向对象编程(OOP)的特性,使得它既可以进行底层系统编程,又能够进行高级的软件开发。
C++源代码的后缀尾.cpp
C++标准:
​
C++ 标准经历了多次更新和演进,目前主要的标准版本有以下几个:
​
C++98:也称为 C++03,这是最初的 C++ 标准,于 1998 年发布。它基本上是在 C++98 基础上做了一些修订,形成了 ISO/IEC 14882:2003 标准。
​
C++11:正式名称为 C++11,于 2011 年发布。这个标准引入了许多重要的新特性,包括自动类型推断、Lambda 表达式、范围 for 循环、右值引用、移动语义、智能指针等。
​
C++14:C++14 标准于 2014 年发布,是对 C++11 的一些小的改进和修订,没有引入大规模的新功能,但对现有功能做了一些优化和改进。
​
C++17:C++17 标准于 2017 年发布,引入了一些新特性和改进,如结构化绑定、折叠表达式、并行算法、文件系统库等,进一步提高了 C++ 的现代化程度。
​
C++20:C++20于 2020 年发布。它引入了许多新特性,包括概念、范围 for 循环、三向比较运算符、协程、模块化等,进一步丰富了 C++ 语言的功能。
​
C++23:是目前最新的C++标准,于2023年发布。已经推出的 C++ 23 版本则沿袭了 C++17 的传统特征,完善了现有特性。但是,与 C++ 98、C++11 或 C++20 相比,改变略小。
Clion创建新项目可选择的C++标准

在控制台进行编译.cpp文件(Linux平台)
创建cpp文件
sudo vim test.cpp
写入简单代码
#include<iostream>
​
int main(){
    std::cout<<"Hello World!"<<std::endl;
    
    return 0;
}
使用g++编译器进行编译
sudo g++ test.cpp -o test

编译test.cpp文件获得test可执行文件。

该编译步骤在第一篇C基础文章中已经详细阐述,这边就不做过多赘述。

最后执行test文件,得到结果。

#include<iostream>

<iostream> 是 C++ 标准库中的头文件,用于输入(i)输出(o)流(stream)的操作。它提供了一系列的类和函数,用于控制台输入输出、文件输入输出以及其他输入输出流的操作。

std
std 是 C++ 标准库的命名空间。C++ 标准库包含了大量的类、函数和对象,用于实现各种常用的功能,比如输入输出、容器、算法、字符串处理、数学运算等;后续再单独写一篇命名空间相关的文章。
输出流:
std::cout<<"Hello World!"<<std::endl;

在这个示例中,<< 运算符被用于将字符串 "Hello, world!" 插入到 std::cout 流中,然后 std::endl 用于结束这条消息并刷新输出缓冲区,确保消息立即显示在控制台上。

std::endl ,用于结束当前行并刷新输出缓冲区。它类似于插入一个换行符 \n,但更具有通用性和功能。

输入流:
    std::cin >> nNumber;
    std::cout << "nNumber:" << nNumber << std::endl;

std::cin 用于从标准输入流(通常是键盘输入)读取用户输入的数据,并将其存储到变量 nNumber 中。然后,std::cout 用于将 nNumber 的值输出到标准输出流(通常是控制台显示)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/545239.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【MATLAB源码-第51期】基于matlab的粒子群算法(PSO)的栅格地图路径规划。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 粒子群算法&#xff08;Particle Swarm Optimization&#xff0c;简称PSO&#xff09;是一种模拟鸟群觅食行为的启发式优化方法。以下是其详细描述&#xff1a; 基本思想&#xff1a; 鸟群在寻找食物时&#xff0c;每只鸟都…

003 【笔记神器】Obsidian:打造属于自己的万能工作台

前言&#xff1a;Obsidian 是一款很多大神都在用的笔记软件&#xff0c;具有强大的功能&#xff0c;能够满足日常各种笔记的需求。强大之处在于&#xff1a;Obsidian 能够安装各种强大的插件&#xff0c;实现各种功能。 废话不多说&#xff0c;玩转 Obsidian 仅需这篇文章足矣&…

Linux/Iclean

Iclean Enumeration nmap 先使用默认规则扫描常用的端口&#xff0c;发现对外开放了 22 和 80 端口&#xff0c;然后扫描这两个端口的详细信息&#xff0c;结果如下&#xff0c;很常规的结果&#xff0c;没发现什么有趣的东西 ┌──(kali㉿kali)-[~/vegetable/HTB/Iclean] …

2024年文化、历史与人文艺术与社会发展国际会议(CHHASD2024)

2024年文化、历史与人文艺术与社会发展国际会议(CHHASD2024) 会议简介 2024年国际文化、历史、人文、艺术与社会发展会议&#xff08;CHHASD2024&#xff09;将在中国武汉举行&#xff0c;主题为“文化、历史&#xff0c;人文、艺术和社会发展”。CHHASD2024汇集了来自世界各…

反爬虫之代理IP封禁-协采云IP池

反爬虫之代理IP封禁-协采云IP池 1、目标网址2、IP封禁4033、协采云IP池 1、目标网址 aHR0cDovL3d3dy5jY2dwLXRpYW5qaW4uZ292LmNuLw 2、IP封禁403 这个网站对IP的要求很高&#xff0c;短时间请求十几次就会遭关进小黑屋。如下图&#xff1a; 明显是网站进行了反爬处理&…

ubuntu22安装snipaste

Ubuntu 22.04 一、Snipaste 介绍和下载 Snipaste 官网下载链接: Snipaste Downloads 二、安装并使用 Snipaste # 1、进入Snipaste-2.8.9-Beta-x86_64.AppImage 目录&#xff08;根据自己下载目录&#xff09; cd /home/jack/Downloads/softwares/AppImage# 2、Snipaste-2.8.9-…

图像分类——综合车辆数据集

一、重要性及意义 智能交通管理&#xff1a;车辆图像分类是智能交通系统&#xff08;ITS&#xff09;中的关键组成部分。通过对监控摄像头捕捉到的车辆图像进行自动分类&#xff0c;系统能够实时识别车辆类型、颜色、品牌等信息&#xff0c;进而实现交通流量监控、违章行为检测…

在线知识库如何从零开始搭建?这篇文章来教你!

引言&#xff1a; 有没有想过把那些零散在脑海中的点点滴滴整理起来&#xff0c;建立一个属于自己的在线知识库&#xff1f;无论是个人学习&#xff0c;团队协作&#xff0c;还是企业管理&#xff0c;一个良好的知识库都能帮我们更高效地存储和分享知识。如果你还在为“怎么建知…

YesPMP众包平台 | 活动有礼,现金奖励点击领取!

YesPMP众包平台在线发福利啦&#xff0c;4月16日活动火热开启&#xff0c;现金奖励等你来领&#xff0c;最高可领千元&#xff0c;赶快参与将奖励收入囊中&#xff0c;一起来了解活动细节吧&#xff01; 一、活动内容&#xff1a; 活动一&#xff1a;【项目征集令】活动&…

告别传统开发,用这11个网站模板搭建的零售线上商城,制作成本都大幅降低了

随着人工智能时代的到来&#xff0c;很多复杂的工作再日益变得简单。比如20年前开发一个在线商城完成支付交易&#xff0c;那是一个不得了的事情&#xff0c;现在的零售巨头淘宝和京东就是在那个时代崛起的。新时代涌现出了许多新的工具&#xff0c;比如使用低代码平台搭建的自…

【网站项目】驾校报名小程序

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

使用Python生成二维码

1、背景 上一次我们介绍了什么是二维码&#xff0c;读过这篇文章以后&#xff0c;相信大家对二维码已经有了一定的认识&#xff0c;那么有没有想过如何自己动手生成二维码呢&#xff1f;二维码在我们的生活与工作中&#xff0c;都能够做什么呢&#xff1f;今天我们来探讨一下用…

2.Mysql 多实例的部署和应用

Mysql多实例的概念&#xff1a; MySql多实例就是在一台机器上开启多个不同的服务端口&#xff0c;运行多个MySql服务进程&#xff0c;通过不同的socket监听不同的服务端口来提供各自的服务。 这些Mysql多实例共用一套MySql安装程序&#xff0c;使用不同的my.cnf&#xff08;也可…

ThreadX在STM32上的移植:通用启动文件tx_initialize_low_level.s

在嵌入式系统开发中&#xff0c;实时操作系统&#xff08;RTOS&#xff09;的选择对于系统性能和稳定性至关重要。ThreadX是一种广泛使用的RTOS&#xff0c;它以其小巧、快速和可靠而闻名。在本文中&#xff0c;我们将探讨如何将ThreadX移植到STM32微控制器上&#xff0c;特别是…

计算机网络 Cisco路由信息协议(RIP)实验

一、实验内容 1、命名 2、关闭域名解释 3、设置路由器接口IP地址 4、根据要求配置RIP以实现所有客户机都能相互通信 5、配置默认路由 二、实验数据处理 1、建立拓扑图 2、PC机地址配置 主机IP地址子网掩码网关PC110.23.1.2255.255.255.010.23.1.1PC210.23.1.3255.255.2…

[论文分享] Large Language Model guided Protocol Fuzzing

笔记目录 Large Language Model guided Protocol Fuzzing [NDSS 2024]IntroductionConstructionContribution BackgroundProtocol FuzzingChallenges Large Language ModelsMotivation Case StudyLifting Message Grammars: Quality and DiversityEnriching the Seed Corpus: D…

如何利用open3D来生成OCC

config.yaml depth: 10&#xff1a;#深度&#xff0c;设定为10&#xff0c;常用于决定处理或计算的层次或深入程度。 min_density: 0.1&#xff1a;#最小密度&#xff0c;设置为0.1&#xff0c;用于过滤或选择的密度阈值。 n_threads: -1&#xff1a;#线程数&#xff0c;设为-…

群晖(Synology)NAS 启用 SSH

群晖&#xff08;Synology&#xff09;NAS 是可以启用 SSH 的。 如果使用 SSH 命令&#xff0c;我们可以在 NAS 上运行相关的 Linux 命令&#xff0c;比如说在服务器网络传输数据上&#xff0c;就会有明显的优势了。 如何启用 进入 NAS 的服务器控制台&#xff0c;然后找到终…

LeetCode 349. 两个数组的交集

LeetCode 349. 两个数组的交集 1、题目 力扣题目链接&#xff1a;349. 两个数组的交集 给定两个数组 nums1 和 nums2 &#xff0c;返回 它们的 交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。 示例 1&#xff1a; 输入&#xff1a;nums1 […

锂电池寿命预测 | Matlab基于BiLSTM双向长短期记忆神经网络的锂电池寿命预测

目录 预测效果基本介绍程序设计参考资料 预测效果 基本介绍 锂电池寿命预测 | Matlab基于BiLSTM双向长短期记忆神经网络的锂电池寿命预测 程序设计 完整程序和数据获取方式&#xff1a;私信博主回复Matlab基于BiLSTM双向长短期记忆神经网络的锂电池寿命预测。 参考资料 [1] h…