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

C++的完美讲解,还不快来看看?

目录

  简介:

  创建C++程序:

  Windows编译简介:


  Hello,C++ World!

  简介:

  C++融合了3中不同的编程传统:C语言代表的过程性传统、C++在C语言基础上添加的类代表的面向对象语言的传统以及C++模板支持的通用编程传统。一般来说,计算机语言要处理两个概念,即数据和算法。数据是程序使用和处理的信息,算法是程序使用的方法。

  C语言是一种过程性语言,更强调算法,它具有结构化编程的特性,其试图使问题满足语言的过程性方法。为了更好地解决大型程序设计问题,其采用了自顶向下的设计原则,将大型程序分解为小型的、易于编写的程序单元(称为函数)来表示各个任务模块,尽管如此,在编写大型程序时仍面临很大的挑战。

  在C++中,类是一种规范,它描述了这种新型数据格式,对象是根据这种规范构造的特定数据结构。为了应付C语言所面临的挑战,OOP(Object-Oriented Programming)提供了一种试图让语言来满足问题要求的一种新方法,其理念是设计与问题的本质特性相对应的数据格式。OOP程序设计方法首先设计类,它准确地描述了程序要处理的信息,这种技术涉及到许多新概念,如对象、类、封装、继承、多态等。

  C++通用编程(generic programming)是C++支持的另一种编程模式,与OOP的目标相同,即:创建独立于类型的代码(通用),使重用代码和抽象通用概念的技术更简单。

  C++诞生于贝尔实验室,由Bjarne Stroustrup于20世纪80年代开发出来,“C++主要是为了我的朋友和我不必再使用汇编语言、C语言或其它现代高级语言来编程而设计的。它的主要功能是可以方便地编写出好程序,让每个程序员更加快乐。”,他如是说

  程序的可移植性障碍:其一是硬件,其二是语言上的差异。

  创建C++程序:

  程序创建具体步骤取决于计算机环境和所用的C++编译器,但大体上如下步骤:

  第一步,创建源代码文件。可以用文本编辑器、Notepad++、开发工具等进行源代码文件的编写。给源文件命名时,必须使用正确的后缀,将文件标识为C++文件,C++源代码文件的扩展名一般是.cpp。

  第二步,编译源代码。将源代码翻译为机器语言(计算机使用的内部语言),包含了翻译后的程序的文件就是程序的目标代码(object code)。

  第三步,链接。将目标代码与其它代码链接起来(链接:指将目标代码同使用的函数的目标代码以及一些标准的启动代码(startup code)组合起来,生成程序的运行阶段版本。),包含该产品的文件称为可执行代码。 

  编程步骤如下图示:

  Windows编译简介:

  打开编译器,选择新建-项目,在VC++下选择Win32 Console Application,选择创建一个空工程,接着添加源文件,如main.cpp,写如下代码:

 1 #include <iostream>2 3 using namespace std;4 5 int main()6 {7     cout << "Hello,C++ World!" << endl;8     9     return 0; 
10 }

 创建好工程后,需要对程序进行编译和链接。IDE通常提供了多个菜单,如Compile(编译)、Build(建立)、Make(生成)、Build All(全部建立)、Link(链接)、Excute(执行)和Run(运行),其含义如下:

  Compile:通常意味着对当前打开的文件中的代码进行编译。

  Build和Make:通常意味着编译工程中所有源代码文件的代码,这通常是一个递增的过程,一般只重新编译修改过的文件。

  Build All:重新编译所有源代码文件。

  Link:将编译后的源代码与所需的库代码组合起来。

  Run或Excute:运行程序。如果运行之前没有进行上述步骤,Run将在运行程序之前完成这些步骤。

  在Visual Studio 2010中有Build和Debug两大菜单,利用Debug下的Start Without Debugging或按ctrl+F5键运行上述程序,输出结果如图所示:

  为我们输出了Hello,C++ World!

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

相关文章:

  • C语言学习_DAY_5_循环结构while和for语句【C语言学习笔记】
  • JavaScript高级程序设计读书分享之4章——4.3垃圾回收
  • Java线程的6 种状态
  • 5年测试在职经验之谈:3年手工测试、2年的自动化测试,从入门到不可自拔...
  • QHash-官翻
  • MYSQL 配置优化
  • 多 态
  • Java集合
  • 高校借力泛微,搭建一体化、流程化的​内控管理平台
  • 使用人工智能赚钱的方式,行业领域有哪些?
  • 【数组中重复的数字】-C语言-题解
  • C++调用Python脚本进行18次循环操作后,脚本不执行
  • 字节10年架构师职业发展经历,助你做好职业规划
  • ArrayList真的是因为实现了RandomAccess接口才能做到快速随机访问的吗
  • OSI七层模型与物理层与设备链路层
  • Java8的Optional类的使用 和 Stream流式操作
  • Authorization Server 认证服务
  • 研制过程评审活动(五)生产定型阶段
  • NCUT加权的NMF
  • 从0开始的ios自动化测试
  • vue3中使用jszip压缩文件
  • React 虚拟DOM的前世今生
  • Java环境变量配置
  • 超详细解读!数据库表分区技术全攻略
  • Redis高可用集群方案
  • 企业微信机器人发送消息
  • 使用PHP+yii2调用asmx服务接口
  • 【042】904. 水果成篮[滑动窗口]
  • Linux基础知识(一)
  • Redis面试题