使用VisualStudio编写C++程序输出helloWorld

文章目录

  • 1. C++简介
    • 1.1 历史背景
    • 1.2 特点
    • 1.3 应用领域
  • 2. 操作过程和代码
    • 2.1 打开Visual Studio(默认你下载了C++的相关文件)
    • 2.2 创建新项目
    • 2.3 输入名字,创建
    • 2.4 右击源文件->添加->新建项
    • 2.5 命名好,进行添加
    • 2.6 输入代码
    • 2.7 输出结果
  • 3. 总结

1. C++简介

c++语言在c语言的基础上添加了面向对象编程泛型编程的支持。c++继承了c语言高高效,简洁,快速和可移植的传统。
C++ 是一种高级编程语言,它在C语言的基础上添加了面向对象编程(OOP)的特性,同时也支持过程化编程。以下是对C++语言的详细介绍:

1.1 历史背景

C++是由比雅尼·斯特劳斯特鲁普(Bjarne Stroustrup)在20世纪80年代初期在贝尔实验室开发的。最初,它被称为“C with Classes”,目的是为了增强C语言的功能,使其能够更好地支持大型软件项目的开发。随着时间的推移,C++不断发展和完善,加入了模板、异常处理、命名空间等诸多新特性。

1.2 特点

  1. 高效性
    • C++ 代码经过编译后能够生成高效的机器码,这使得它在系统编程、游戏开发等对性能要求较高的领域表现出色。例如,操作系统内核的部分代码、高性能的游戏引擎底层实现等都可以用C++来完成。它能够直接访问计算机的硬件资源,像内存地址等,这种底层访问能力可以让程序员最大程度地优化程序性能。
  2. 可移植性
    • C++ 程序可以在不同的操作系统(如Windows、Linux、macOS等)和硬件平台上进行编译和运行。只要有相应的编译器支持,相同的C++源代码在不同平台上经过适当的编译配置后,就可以正常工作。这是因为C++标准规定了语言的语法和语义,编译器会根据目标平台将代码转换为该平台能够理解的机器语言。
  3. 面向对象编程支持
    • 类(class)和对象(object)是C++面向对象编程的核心。类是一种用户自定义的数据类型,它将数据(成员变量)和操作这些数据的函数(成员函数)封装在一起。例如,定义一个“汽车”类,其中可以包含汽车的属性(如颜色、速度等)和行为(如加速、刹车等)。对象则是类的实例,就像具体的某一辆汽车。
    • 继承(inheritance)允许创建一个新类(派生类),它继承了另一个类(基类)的属性和行为,并且可以添加新的特性。比如,“跑车”类可以继承“汽车”类,并且添加自己特有的属性,如更高的最高速度等。
    • 多态(polymorphism)使得不同的对象可以通过统一的接口进行调用,具体的行为根据对象的实际类型来确定。例如,定义一个“绘制图形”的函数,它可以根据传入的是“圆形”对象还是“矩形”对象,来调用相应的绘制方法。
  4. 丰富的标准库
    • C++标准库提供了大量的功能,包括输入输出操作(iostream)、字符串处理(string)、容器(如vector、list、map等)、算法(如排序、查找等算法)等。这些标准库可以大大提高开发效率,减少程序员的工作量。例如,使用vector容器可以方便地存储和操作一组数据,像存储一个整数数组,并且可以轻松地进行插入、删除和遍历操作。

1.3 应用领域

  1. 系统软件
    • 用于开发操作系统、设备驱动程序等。例如,Linux内核的部分模块就是用C++编写的。因为C++能够很好地控制硬件资源,并且可以高效地运行,所以在这些对性能和底层操作要求很高的系统软件领域有广泛的应用。
  2. 游戏开发
    • 许多大型游戏的引擎都是用C++编写的。如Unreal Engine(虚幻引擎)和CryEngine等。这些引擎利用C++的高性能和面向对象编程的特点,能够实现复杂的游戏逻辑、图形渲染和物理模拟等功能。
  3. 软件开发工具
    • 编译器、代码编辑器等开发工具的开发也会用到C++。例如,著名的GCC(GNU Compiler Collection)编译器的部分代码是C++语言实现的。因为C++可以高效地处理复杂的语法分析和代码生成任务。
  4. 数据库系统
    • 一些数据库管理系统的核心模块也是用C++编写的。这是因为C++可以处理大量的数据操作,并且能够保证数据处理的高效性和稳定性。

2. 操作过程和代码

2.1 打开Visual Studio(默认你下载了C++的相关文件)

在这里插入图片描述

2.2 创建新项目

在这里插入图片描述

2.3 输入名字,创建

在这里插入图片描述

2.4 右击源文件->添加->新建项

在这里插入图片描述

2.5 命名好,进行添加

在这里插入图片描述

2.6 输入代码

#define _CRT_SECURE_NO_WARNINGS 
#include<iostream>	// 引用头文件
using namespace std;//标准命名空间int main() {// cout是标准的输出流对象,打印字符串,endl是刷新缓冲区,并换行cout << "Hello World!!!" << endl;system("pause");return EXIT_SUCCESS;
}

2.7 输出结果

Hello World!!!
请按任意键继续. . .C:\Users\YUEXU\source\repos\CTest++\x64\Debug\CTest++.exe (进程 21600)已退出,代码为 0 (0x0)。
要在调试停止时自动关闭控制台,请启用“工具”->“选项”->“调试”->“调试停止时自动关闭控制台”。
按任意键关闭此窗口. . .

就完成了!!!

3. 总结

一直都想学C++,不过之前学习python和java,后面总是就没有后续。现在又重新学习了,很喜欢C++高效和贴近底层的特点。学过一段时间后,现在打算再次学习。机器学习和深度学习是人工智能的部分,我有个用C++来实现的打算,不知道后面有没有时间去搞搞,哈哈哈哈哈!!!!
语言一直都是工具,学习C++的目的是为了学习C++后面一些很有趣的课程,比如游戏服务器开发,Shell脚本等,蛮有意思的。正好也顺便做做笔记,供大家学习,借鉴。后续考虑出一下C语言的数据结构,不过那部分真不如用Java写来方便,要不也写一下算法吧。看我时间安排吧。

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

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

相关文章

万能的无人机锁定目标投放程序

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…

LayaBox1.8.4实现UV滚动

实现思路&#xff1a; 在片元着色器采样时&#xff0c;增加一个随时间变化的偏移值&#xff0c;由于uv是一个二维向量所以加的偏移值也需要一个二维向量。注意&#xff1a;在Laya的 shader中除了0&#xff0c;输入其它数字必须输入带有小数的数字&#xff0c;否则报错 。 &quo…

Next.js- App Router 概览

#题引&#xff1a;我认为跟着官方文档学习不会走歪路 一&#xff1a;App Router与Page Router 在 v13 版本中&#xff0c;Next.js 引入了一个基于 React 服务器组件 构建的新的 App Router&#xff0c;而在这之前&#xff0c;Next.js 使用的是Page Router。 目录结构 pages …

milvus es

ES 与 Milvus 结合实现高效文档搜索的实战指南 原文链接 目录 背景介绍场景与效果概述架构对比与问题分析Milvus 向量搜索架构ES Milvus 搜索架构详细流程解析Milvus 搜索配置详解ES 搜索策略与 DSL 配置结果合并与排序策略总结与未来优化 1. 背景介绍 随着团队和公司的发…

Flutter 设计模式全面解析:抽象工厂

设计模式作为软件开发中的经典解决方案&#xff0c;在 Flutter 的开发中也能为我们提供强大的架构支持。本文来介绍一下如何在 Flutter 中来实现抽象工厂设计模式&#xff0c;以及如何创建一系列相关或依赖对象并优雅地管理它们之间的复杂依赖关系。 日常开发中我们也能经常看…

『 Linux 』网络层 - IP协议 (二)

文章目录 路由NAT技术分片与组装分片的组装IP协议分片的短板 路由 通常情况路由器具备了一个非常重要的功能,即构建子网; 同时路由器需要实现跨网络通信,说明路由器必须存在两个或以上的IP地址,通常在路由器中可以看到几个接口,分别是一个WAN口和几个LAN口; WAN口IP被称为公网I…

深度学习实战图像缺陷修复

这里写目录标题 概述1. 图像缺陷修复的研究背景2. 传统图像缺陷修复方法的局限性(1) 基于纹理合成的方法(2) 基于偏微分方程&#xff08;PDE&#xff09;的方法 3. 深度学习在图像缺陷修复中的兴起(1) 深度学习的基本思路(2) 深度学习方法的优势(3) 关键技术的引入 4. 深度学习…

【SQL实验】索引操作(菜单操作和命令操作)

【代码是自己的解答&#xff0c;并非标准答案&#xff0c;也有可能写错&#xff0c;文中可能会有不准确或待完善之处&#xff0c;恳请各位读者不吝批评指正&#xff0c;共同促进学习交流】 文件”成绩管理”导入【具体操作前几篇文章详细展示过来&#xff0c;这里跳过。还是不太…

[pdf,epub]162页《分析模式》漫谈合集01-35提供下载

《分析模式》漫谈合集01-35的pdf、epub文件&#xff0c;已上传至本号的CSDN资源。 如果CSDN资源下载有问题&#xff0c;可到umlchina.com/url/ap.html。 已排版成适合手机阅读&#xff0c;pdf的排版更好一些。 ★UMLChina为什么叒要翻译《分析模式》&#xff1f; ★[缝合故事…

【Linux学习】【Ubuntu入门】1-7 ubuntu下磁盘管理

1.准备一个U盘或者SD卡&#xff08;插上读卡器&#xff09;&#xff0c;将U盘插入主机电脑&#xff0c;右键点击属性&#xff0c;查看U盘的文件系统确保是FAT32格式 2.右键单击ubuntu右下角图标&#xff0c;将U盘与虚拟机连接 参考链接 3. Ubuntu磁盘文件&#xff1a;/dev/s…

移远通信推出全新5G RedCap模组RG255AA系列,以更高性价比加速5G轻量化大规模商用

11月20&#xff0c;全球领先的物联网整体解决方案供应商移远通信宣布&#xff0c;正式推出其全新5G RedCap模组RG255AA系列。该系列模组支持5G NR独立组网&#xff08;SA&#xff09;和LTE Cat 4双模通信&#xff0c;具有高性能高集成度、低功耗、小尺寸、高性价比等优势&#…

数据集-目标检测系列- 花卉 玫瑰 检测数据集 rose >> DataBall

数据集-目标检测系列- 花卉 玫瑰 检测数据集 rose >> DataBall DataBall 助力快速掌握数据集的信息和使用方式&#xff0c;会员享有 百种数据集&#xff0c;持续增加中。 贵在坚持&#xff01; 数据样例项目地址&#xff1a; * 相关项目 1&#xff09;数据集可视化项…

GitHub 开源项目 Puter :云端互联操作系统

每天面对着各种云盘和在线应用&#xff0c;我们常常会遇到这样的困扰。 文件分散在不同平台很难统一管理&#xff0c;付费订阅的软件越来越多&#xff0c;更不用说那些烦人的存储空间限制了。 最近在 GitHub 上发现的一个开源项目 Puter 彻底改变了我的在线办公方式。 让人惊…

Python 使用 OpenCV 将 MP4 转换为 GIF图

以下是使用 Python 和 OpenCV 将 MP4 转换为 GIF 的示例代码&#xff1a; python import cv2 import imageiodef mp4_to_gif(mp4_path, gif_path, fps10, start_timeNone, end_timeNone):"""将MP4视频转换为GIF动图。:param mp4_path: 输入MP4视频的路径。:pa…

el-table的树形结构后端返回的id没有唯一键怎么办

前端自己生成唯一键 首先尝试了表格的几个字段用-拼接成唯一键 但是仍报错 只好自己利用uuid库生成&#xff1b;

【Linux】缓冲区/磁盘inode/动静态库

目录 一、缓冲区 &#xff08;一&#xff09;概念 &#xff08;二&#xff09;刷新策略 &#xff08;三&#xff09;仿写FILE &#xff08;四&#xff09;内核缓冲区 二、磁盘 &#xff08;一&#xff09;磁盘的存储 &#xff08;二&#xff09;磁盘的抽象存储结构 &am…

SpringBoot(9)-Dubbo+Zookeeper

目录 一、了解分布式系统 二、RPC 三、Dubbo 四、SpringBootDubboZookeeper 4.1 框架搭建 4.2 实现RPC 一、了解分布式系统 分布式系统&#xff1a;由一组通过网络进行通信&#xff0c;为了完成共同的任务而协调工作的计算机节点组成的系统 二、RPC RPC&#xff1a;远程…

【Github】如何使用Git将本地项目上传到Github

【Github】如何使用Git将本地项目上传到Github 写在最前面1. 注册Github账号2. 安装Git工具配置用户名和邮箱仅为当前项目配置&#xff08;可选&#xff09; 3. 创建Github仓库4. 获取仓库地址5. 本地操作&#xff08;1&#xff09;进入项目文件夹&#xff08;2&#xff09;克隆…

Spring:Spring整合Mybatis开发之纯Mybatis开发

目前我们已经对Spring有一个简单的认识了&#xff1a; Spring有一个容器&#xff0c;叫做IoC容器&#xff0c;里面保存bean。 在进行企业级开发的时候&#xff0c;其实除了将自己写的类让Spring管理之外&#xff0c;还有一部分重要的工作就是使用第三方的技术。前面已经讲了如何…

大语言模型---LoRA中损失值的计算

文章目录 概要损失计算流程小结 概要 Llama-7B模型的LoRA微调训练中&#xff0c;通过使用Cross-Entropy Loss来度量模型输出的预测分布和真实标签分布之间的距离&#xff0c;来衡量模型的准确性。 本文主要介绍LoRA中损失值的计算流程。 Cross-Entropy Loss作用&#xff1a;是…