C++ 编程入门(一)—— Hello World

  • C++ 是什么
  • 环境搭建
  • 第一个 C++ 程序
  • 本篇结语

C++ 是什么

C++ 是一种面向对象的计算机程序设计语言,由美国 AT&T 贝尔实验室的 Bjarne Stroustrup 在 20 世纪 80 年代初期发明并实现(最初这种语言被称作 “C with Classes” 带类的 C 语言)。它是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、泛型程序设计等多种程序设计风格。 C++ 是 C 语言的继承,进一步扩充和完善了 C 语言,成为一种面向对象的程序设计语言。C++ 这个词在中国大陆的程序员圈子中通常被读做“C加加”,而西方的程序员通常读做 “C plus plus”、“CPP”。

作者:d41d8c
链接:https://www.zhihu.com/question/381100690/answer/1092776507
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

环境搭建

首先需要安装编译器,C++ 的编译器是 g++,在 MacOS 上只需要在 App Store 安装 Xcode 即可。安装后打开终端,执行 gcc -vg++ -v,获得正常的版本输出则为安装成功。

然后再安装合适的 IDE (integrated development environment,集成开发环境)。主流的 IDE 主要是 CLionQt CreatorVS CodeCode::Blocks 等。CLion 评价最高,但收费也较高,不过可以破解。Qt Creator 主要为 C++ 的图形化扩展库 Qt 设计,高亮和代码提示都比较好,缺点是编写项目必须要用 qmakecmake 进行编译,自由度不够高。VS Code 作为一款轻量级 IDE,其几乎所有功能均由插件实现,编写 C++ 的体验不如前两个 IDE,优点是自由度比较高。Code::Blocks 则是一款比较老的 C++ IDE,效果也不错。笔者建议还是去找破解版的 CLion

第一个 C++ 程序

进入存放代码的文件夹(建议设置一个固定放代码的文件夹),并且新建一个文件,文件名改为 hello.cpp(后缀名改为 .cpp),然后用 IDE 打开这个文件。或者也可以在 IDE 中新建文件。

打开文件后编辑文件内容如下:

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

这样,你的第一个 C++ 程序就完成了。你编写的 .cpp 文件称为源代码。

接下来,你需要将源代码编译为可执行文件进行运行。通常 IDE 都可以实现自动编译。如果你想要自己手动编译,则需要打开终端,进入到源代码所在的文件夹,然后运行 g++ -o hello hello.cpp,其中 -o 后的参数为输出的文件名,编译成功则会得到名为 test 的可执行文件,再执行 ./test 即可运行。

运行结果应该是输出一行 Hello World

本篇结语

在本文中你学会了搭建 C++ 的编程环境,并且编写并编译了第一个 C++ 程序。在之后的文章中你会学会如何自己编写 C++ 程序,利用 C++ 实现自己期望的功能。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

多线程案例 | 单例模式、阻塞队列、定时器、线程池

多线程案例 1、案例一&#xff1a;线程安全的单例模式 单例模式 单例模式是设计模式的一种 什么是设计模式&#xff1f; 设计模式好比象棋中的 “棋谱”&#xff0c;红方当头炮&#xff0c;黑方马来跳&#xff0c;针对红方的一些走法&#xff0c;黑方应招的时候有一些固定的…

ScheduledThreadPoolExecutor 及 ThreadPoolExecutor的基本使用及说明

关于作者&#xff1a;CSDN内容合伙人、技术专家&#xff0c; 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 &#xff0c;擅长java后端、移动开发、人工智能等&#xff0c;希望大家多多支持。 目录 一、导读二、概览2.1 为什么不推荐使用Executors去创建线程池 三、…

C++ list底层实现原理

文章目录 一、list底层实现二、类构成三、构造函数四、迭代器五、获取第一个元素六、获取最后一个元素七、插入元素 一句话&#xff1a;list底层实现一个双向循环链表 一、list底层实现 一个双向循环链表 二、类构成 class list : protected_List_base_list_base.lsit_impl…

python进阶书籍的推荐 知乎,python入门后如何进阶

本篇文章给大家谈谈python进阶书籍的推荐 知乎&#xff0c;以及python入门后如何进阶&#xff0c;希望对各位有所帮助&#xff0c;不要忘了收藏本站喔。 1、Python应该怎么学_python应该怎么学 想要学习Python&#xff0c;需要掌握的内容还是比较多的&#xff0c;对于自学的同…

【MySQL】索引特性

​&#x1f320; 作者&#xff1a;阿亮joy. &#x1f386;专栏&#xff1a;《零基础入门MySQL》 &#x1f387; 座右铭&#xff1a;每个优秀的人都有一段沉默的时光&#xff0c;那段时光是付出了很多努力却得不到结果的日子&#xff0c;我们把它叫做扎根 目录 &#x1f449;没…

重大更新|Sui主网即将上线流动性质押,助力资产再流通

Sui社区一直提议官方上线流动质押功能&#xff0c;现在通过SIP过程&#xff0c;已经升级该协议以实现这一功能。 Sui使用委托权益证明机制&#xff08;DPoS&#xff09;来选择和奖励负责运营网络的验证节点。为了保障网络安全&#xff0c;验证节点通过质押SUI token获得质押奖…

抖音短视频矩阵系统源码:SEO优化开发解析

抖音短视频矩阵系统源码是一个基于抖音短视频平台的应用程序。它允许用户上传和观看短视频&#xff0c;以及与其他用户交互。SEO优化开发解析是指对该系统进行搜索引擎优化的开发解析。 一、 在进行SEO优化开发解析时&#xff0c;可以考虑以下几点&#xff1a; 关键词优化&…

Java Stream流

Java 8 版本新增的Stream&#xff0c;配合同版本出现的Lambda &#xff0c;给我们操作集合&#xff08;Collection&#xff09;提供了极大的便利。Stream流是JDK8新增的成员&#xff0c;允许以声明性方式处理数据集合&#xff0c;可以把Stream流看作是遍历数据集合的一个高级迭…

linux 系统编程

C标准函数与系统函数的区别 什么是系统调用 由操作系统实现并提供给外部应用程序的编程接口。(Application Programming Interface&#xff0c;API)。是应用程序同系统之间数据交互的桥梁。 一个helloworld如何打印到屏幕。 每一个FILE文件流&#xff08;标准C库函数&#xff…

前端调用合约如何避免出现transaction fail

前言&#xff1a; 作为开发&#xff0c;你一定经历过调用合约的时候发现 gas fee 超出限制&#xff0c;但是不知道报了什么错。这个时候一般都是触发了require错误合约校验。对于用户来说他不理解为什么一笔交易会花费如此大的gas&#xff0c;那我们作为开发如何尽量避免这种情…

Jvm的一些技巧

反编译字节码文件 找到对应的class文件所在的目录&#xff0c;使用javap -v -p 命令 查询运行中某个Java进程的Jvm参数 【案例】查询 MethodAreaDemo 这个类运行过程中&#xff0c;初始的元空间大小 MetaspaceSize jps 查询 Java 进程的进程ID ![在这里插入图片描述](https…

新零售行业如何做会员管理和会员营销

蚓链数字化营销系统全渠道会员管理解决方案&#xff0c;线上线下统一管理&#xff0c;打造私域流量&#xff0c;微信、门店会员全渠道管理&#xff0c;打通私域流量池&#xff0c;实现裂变营销&#xff1a; 开启新零售之路&#xff0c;必然要摒弃原有的管理模式&#xff0c;大…

C# NDArray System.IO.FileLoadException报错原因分析

C# NDArray System.IO.FileLoadException 报错原因分析&#xff1a; 1.NuGet程序包版本有冲突 2.统一项目版本 1.打开解决方案NuGet程序包设置 2.查看是否有版本冲突 3.统一版本冲突

C++终止cin输入while循环时多读取^Z或^D的问题

原代码&#xff1a; istream& operator>>(istream& is, map<string, int>&mm) {string ss"";int ii0;is >> ss>>ii;mm[ss]ii;return is; }int main() {map<string,int>msi;while(cin>>msi);return 0; } 问题&…

【探讨】Java POI 处理 Excel 中的名称管理器

前言 最近遇到了一些导表的问题。原本的导表工具导不了使用名称管理器的Excel。 首先我们有两个Sheet。B1用的是名称管理器中的AAA, 而B2用的对应的公式。 第二个sheet&#xff0c;名为Test2: 这是一段简化的代码&#xff1a; public class Main {public static void mai…

【Python】将M4A\AAC录音文件转换为MP3文件

文章目录 m4aaac 基础环境&#xff1a; sudo apt-get install ffmpegm4a 要将M4A文件转换为MP3文件&#xff0c;你可以使用Python中的第三方库pydub。pydub使得音频处理变得非常简单。在开始之前&#xff0c;请确保你已经安装了pydub库&#xff0c;如果没有&#xff0c;可以通…

7.25 Qt

制作一个登陆界面 login.pro文件 QT core guigreaterThan(QT_MAJOR_VERSION, 4): QT widgetsCONFIG c11# The following define makes your compiler emit warnings if you use # any Qt feature that has been marked deprecated (the exact warnings # depend on …

【Spring】更简单的读取和存储对象,五大类注解

经过前面的学习&#xff0c;我们已经可以实现基本的 Spring 读取和存储对象的操作了&#xff0c;但在操作的过程中我们发现读取和存储对象并没有想象中的那么 “简单”&#xff0c;所以接下来我们要学习更加简单的操作 Bean 对象的方法 在 Spring 中想要更简单的存储和读取对象…

Docker镜像端口映射简介及配置指南

目录 引言&#xff1a;什么是端口映射&#xff1f;配置端口映射的步骤&#xff1a;1. 创建Docker镜像&#xff1a;2. 选择要映射的端口&#xff1a;3. 运行容器并进行端口映射&#xff1a;4. 验证端口映射&#xff1a; 示例&#xff1a;结论&#xff1a; 引言&#xff1a; Doc…

剑指YOLOv5改进最新MPDIoU损失函数(23年7月首发论文):超越现有多种G/D/C/EIoU,高效准确的边界框回归的损失,高效涨点

💡本篇内容:剑指YOLOv5改进最新MPDIoU损失函数(23年7月首发论文):超越现有多种G/D/C/EIoU,高效准确的边界框回归的损失,高效涨点 💡🚀🚀🚀本博客 改进源代码改进 适用于 YOLOv5 按步骤操作运行改进后的代码即可 💡:重点:该专栏《剑指YOLOv5原创改进》只更新…