本文仅用于学习交流,转载请注明:http://www.cnblogs.com/mxbs/p/6266466.html

   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语言或其它现代高级语言来编程而设计的。它的主要功能是可以方便地编写出好程序,让每个程序员更加快乐。”,他如是说。他的主页是:http://www.stroustrup.com/index.html

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

  创建C++程序:

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

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

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

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

  编程步骤如下图示:

  Windows编译简介:

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

 #include <iostream>

 using namespace std;

 int main()
{
cout << "Hello,C++ World!" << endl; return ;
}

  创建好工程后,需要对程序进行编译和链接。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!

  如果有疑问,可以联系giserdev@163.com,更多内容请参考:http://www.cnblogs.com/mxbs/,技术交流请加QQ群:586571286。

C++简介的更多相关文章

  1. ASP.NET Core 1.1 简介

    ASP.NET Core 1.1 于2016年11月16日发布.这个版本包括许多伟大的新功能以及许多错误修复和一般的增强.这个版本包含了多个新的中间件组件.针对Windows的WebListener服 ...

  2. MVVM模式和在WPF中的实现(一)MVVM模式简介

    MVVM模式解析和在WPF中的实现(一) MVVM模式简介 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在 ...

  3. Cassandra简介

    在前面的一篇文章<图形数据库Neo4J简介>中,我们介绍了一种非常流行的图形数据库Neo4J的使用方法.而在本文中,我们将对另外一种类型的NoSQL数据库——Cassandra进行简单地介 ...

  4. REST简介

    一说到REST,我想大家的第一反应就是“啊,就是那种前后台通信方式.”但是在要求详细讲述它所提出的各个约束,以及如何开始搭建REST服务时,却很少有人能够清晰地说出它到底是什么,需要遵守什么样的准则. ...

  5. Microservice架构模式简介

    在2014年,Sam Newman,Martin Fowler在ThoughtWorks的一位同事,出版了一本新书<Building Microservices>.该书描述了如何按照Mic ...

  6. const,static,extern 简介

    const,static,extern 简介 一.const与宏的区别: const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量. 执行时刻:宏是预编 ...

  7. HTTPS简介

    一.简单总结 1.HTTPS概念总结 HTTPS 就是对HTTP进行了TLS或SSL加密. 应用层的HTTP协议通过传输层的TCP协议来传输,HTTPS 在 HTTP和 TCP中间加了一层TLS/SS ...

  8. 【Machine Learning】机器学习及其基础概念简介

    机器学习及其基础概念简介 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...

  9. Cesium简介以及离线部署运行

    Cesium简介 cesium是国外一个基于JavaScript编写的使用WebGL的地图引擎,一款开源3DGIS的js库.cesium支持3D,2D,2.5D形式的地图展示,可以自行绘制图形,高亮区 ...

  10. 1.Hibernate简介

    1.框架简介: 定义:基于java语言开发的一套ORM框架: 优点:a.方便开发;           b.大大减少代码量;           c.性能稍高(不能与数据库高手相比,较一般数据库使用者 ...

随机推荐

  1. 把本地建好的项目提交到git上

    才开始用git来控制项目版本,刚开始时不是很会用,由于公司最近新开个项目,需要我把建好的项目放到git上去,慢慢的摸索,终于有点小小的结果,把一个项目成功提交到git上了,在这里记录下,以免下次忘记, ...

  2. freemarker字符串转换成日期和时间

    freemarker字符串转换成日期和时间 1.日期时间转换总结 (1)date用来转换为日期 (2)time用来转换为时间 (3)datetime用来转换为日期和时间 2.展示演示样例 <#- ...

  3. 手游2dx面试笔记一

    第一轮IQ测试:都来面试程序了,相信IQ再怎么也坑不到哪里去吧.要问什么样的题,几页纸呐, 如:1.找出不同类:羚羊.斑马.鲨鱼 2.在()里添一字使2边都能组词:木()料 3.中间值?:1,2,4, ...

  4. [React Testing] Setting up dependencies && Running tests

    To write tests for our React code, we need to first install some libraries for running tests and wri ...

  5. api接口、RPC、WebService REST

    RPC:所谓的远程过程调用 (面向方法) SOA:所谓的面向服务的架构(面向消息) REST:所谓的 Representational state transfer (面向资源) RPC 即远程过程调 ...

  6. js获得url的参数

    网上找的一段代码,非常好用,现在难以找到原作者,但是非常感谢!/**   * 获取当前URL参数值  * @param name  参数名称  * @return  参数值   */ function ...

  7. 读取oracle页面或者进程卡住不动(死锁)

    oracle最坑爹的地方:你insert   update  delete之后  或者kill死锁的时候记得一定要提交事务不然就是死锁卡在那里了 记住  kill死锁也是要提交事务的 select * ...

  8. 华为 oj 表示数字(代码有参考)理解算法设计

    虽然是初级题目,但是 也不是太容易就做出来的 还是用c++ 好些 因为c++ string 是可以存储到缓冲区的, 字符串长度可以变化 参考了某神的代码 和我的思路一样 ,就拿来主义了,挺经典的一道面 ...

  9. android sax解析xml 文件 动态加载标题

    要解决一个问题 : 问题描述为 把标题动态的加载到 listView子布局中 我们首先通过 java程序写一个把标题写到xml文件的程序.这个程序会在以后讲解. 现在截图 已经写好的xm文件格式如下 ...

  10. JSONP的客户端的具体实现

    JSONP的客户端的具体实现 1.远程调用一个js,代码如下:         <script type="text/javascript">         var ...