为什么C++会成功?

简介:        最近,我在看《C++编程思想》,里面提到了C++成功的七个原因。我将在这篇文章中进行简单的说明。        C++成功的原因是经济上的:转变到OOP(面向对象编程)需要代价,而转变到C++所花的代价较小。

       最近,我在看《C++编程思想》,里面提到了C++成功的七个原因。我将在这篇文章中进行简单的说明。


       C++成功的原因是经济上的:转变到OOP(面向对象编程)需要代价,而转变到C++所花的代价较小。


       C++的目的是提高效率。C++成功是因为它立足于实际:尽可能地为程序员提供最大便利。


       1. 较好的C

       C++堵塞了C语言中的一些漏洞,并提供更好的类型检查和编译时的分析。


       C++有一个性能,称为references(引用),它允许对函数参数和返回值的地址进行更方便的处理。函数重载改进了对名字的处理,使程序员能对不同的函数使用相同的名字。另外,名字空间也加强了名字的控制。


       2. 采用渐进的学习方式

       C++是对C的扩充,而不是新的文法和新的程序设计模型。程序员学习和理解这些性能,逐渐应用并继续创建有用的代码。这是C++成功的最重要的原因之一。


       已有的C代码在C++中仍然是有用的。


       3. 运行效率

       C++不仅有与C相同的基本控制能力,面向对象的C++程序的速度与用C写的程序速度相差在±10%之内,而且常常更接近。


       4. 系统更容易表达和理解

        程序员所涉及的是较高层的概念,一行代码能做更多的事情。


       易于表达所带来的另一个好处是易于维护。


        5. “库”使你事半功倍

       创建程序的最快方法是使用已经写好的代码:库。C++的主要目标是让程序员能更容易地使用库,这是通过将库转换为新数据类型(类)来完成的。引入一个库,就是向该语言增加一个新类型。


        因为程序的各部分之间名字是隔离的,所以程序员想用多少库就用多少库。


       模板的源代码重用:一些重要的类型要求修改源代码以便有效地重用;模板可以自动完成对代码的修改,因而是重用库代码特别有用的工具。


        6. 错误处理

        C++的异常处理保证能检查到错误并进行处理。


        7. 大程序设计

        设计C++的目的是为了辅助大程序设计,也就是说,去掉小程序和大程序之间复杂性的分界。
目录
相关文章
|
11月前
|
小程序 前端开发 JavaScript
微信小程序(二十八)微信小程序封装request请求
const utils = require("../utils/util.js"); var app = getApp(); // 请求方式(定义完了又好像觉得没啥用,放着吧) const GET = "GET"; const POST = "POST"; const PUT = "PUT"; const FORM = "FORM"; const DELETE = "DELETE"; // 系统域名 const baseURL = "https://www.mools.net"; /** * @name: 用户请求方法,使用promise实现 * @author: came
128 0
浅谈设计原则
什么是单一职责原则,在我理解看来就是一个东西如果发生问题那么就有且仅有一个原因导致它发生问题。它的准确解释就是,就一个类而言,应该仅有一个引起它变化的原因。如果一个类承担的职责过多,就等于耦合度加大,当变化发生时,设计会受到破坏。最好的例子就是将界面和业务进行分离。做设计应该让类只有一个职责。
|
Java 测试技术
《Java单元测试实战》——编写方法:Java编程技巧之单元测试用例编写流程(2)
《Java单元测试实战》——编写方法:Java编程技巧之单元测试用例编写流程(2)
158 0
|
jenkins 持续交付 Go
iOS Jenkins打包报错401 Authentication credentials are missing or invalid.解决办法
iOS Jenkins打包报错401 Authentication credentials are missing or invalid.解决办法
235 0
|
计算机视觉 C++ Python
解决ModuleNotFoundError: No module named ‘skimage‘问题
解决ModuleNotFoundError: No module named ‘skimage‘问题
2654 0
解决ModuleNotFoundError: No module named ‘skimage‘问题
解决办法:defined but not used [-Werror=unused-variable]
解决办法:defined but not used [-Werror=unused-variable]
777 0
|
前端开发
前端初尝试---品优购首页(只用HTML和CSS)(一)
前端初尝试---品优购首页(只用HTML和CSS)
前端初尝试---品优购首页(只用HTML和CSS)(一)
|
人工智能 Java
动态规划的常见优化方式:滚动数组 & 一维优化 | Java 刷题打卡
动态规划的常见优化方式:滚动数组 & 一维优化 | Java 刷题打卡
|
数据采集 SQL 关系型数据库
最佳实践—如何优化数据全量抽取
本文介绍了在应用内通过代码高效抽取数据的方法。
265 0
|
关系型数据库 MySQL Go
字段加密后长度变化
字段加密后长度变化
348 0