Philosophy[edit]

Throughout C++'s life, its development and evolution has been informally governed by a set of rules that its evolution should follow:[9]

  • It must be driven by actual problems and its features should be useful immediately in real world programs. 由现实问题驱动而产生的语言
  • Every feature should be implementable (with a reasonably obvious way to do so). 每种特性都是可以实现的
  • Programmers should be free to pick their own programming style, and that style should be fully supported by C++. 程序员应该自由的使用自己的方式来编程
  • Allowing a useful feature is more important than preventing every possible misuse of C++. 允许使用一个特性比滥用特性更重要
  • It should provide facilities for organising programs into well-defined separate parts, and provide facilities for combining separately developed parts. 可以很好的组织和分发任务进行团队编程
  • No implicit violations of the type system (but allow explicit violations; that is, those explicitly requested by the programmer). 没有隐含的违反系统的类型
  • User-created types need to have the same support and performance as built-in types. 用户创建的类型可以与内建类型有同样等级的支持和性能
  • Unused features should not negatively impact created executables (e.g. in lower performance). 未使用的功能不应对创建的可执行文件产生负面影响
  • There should be no language beneath C++ (except assembly language). There should be no language beneath C++已经是终极语言了,而不是还有语言去扩展它
  • C++ should work alongside other existing programming languages, rather than fostering its own separate and incompatible programming environment. C++应该与其他现有的编程语言一起工作,而不是建立自己独立且不兼容的编程环境
  • If the programmer's intent is unknown, allow the programmer to specify it by providing manual control. 如果程序员的意图未知,则允许程序员通过提供手动控制来指定程序员的意图。

https://en.wikipedia.org/wiki/C%2B%2B

我认为总结为两句话:1. C++来自于现实世界的实际需求,是实践派而不是理论派 2. 允许程序员自由的使用自己的方式编程,而且允许内建各种类型,总之就是很自由、很强大。

最新文章

  1. [转]Android样式的开发:shape篇
  2. openWrt 安装与实践 II
  3. jQuery 中 attr() 和 prop() 方法的区别
  4. CAN Timing Sample Point
  5. ps命令交叉编译
  6. 8个超炫酷的纯CSS3动画及源码分享
  7. 超级 Ping 监测工具——为您的网络状态保驾护航
  8. angularjs 创建自定义的指令
  9. RTB撕开黑盒子 Part 4: Shady Bidding
  10. 微信公众号开发调用自带地图 不显示(openLocation)
  11. Airtest基本使用
  12. Spring Boot Starter 的基本封装
  13. C#_根据银行卡卡号判断银行名称
  14. Spring Boot的@SpringBootApplication无法引入的问题
  15. 字符编码(ASCII、ANSI、GB2312、UTF-8等)系统梳理(转载)
  16. AGC 018 F - Two Trees
  17. HDUOJ--------(1198)Farm Irrigation
  18. codeforces 356 div2 C.Bear and Prime 100 数学
  19. JDBC——连接数据库的代码
  20. 利用kage把msf变成可视化远控平台

热门文章

  1. 微信小程序的轮播图swiper问题
  2. js精确判断数据类型为何用Object.prototype.toString.call()而不是Object.prototype.toString()
  3. vue webpack添加jQuery
  4. 推荐一些C#相关的网站和书籍
  5. NFS Server搭建实践
  6. VAssist 使用技巧(函数声明定位,比VS的还要强大)
  7. jxl导出Excel
  8. 机器学习:scikit-learn 做笑脸识别 (SVM, KNN, Logisitc regression)
  9. 认识ADO.net
  10. WinEdt && LaTex(五)—— 内容的排版