文章三部分如下:

1.http://blog.jobbole.com/82460/

2.http://blog.jobbole.com/82461/

3.http://blog.jobbole.com/82628/

总结一下提到的五点:

  • 1. “要理解C++,你必须先学习C”
  • 2. “C++是一门面向对象的语言”
  • 3. “为了软件可靠性,你需要垃圾回收”
  • 4. “为了效率,你必须编写底层代码”
  • 5. “C++只适用于大型、复杂的程序”

表达一下个人愚见:

1.“要理解C++,你必须先学习C”

不先学c的好处是,有些c的坑,可以不跳进去。因为c++其实隐藏了c里面的坑,所以直接用c++的话,可以避免一些奇怪的错误。(适合快速入门)

不先学c的坏处,有些底层的东西不懂没法走得更远,由于c能接触更底层,更少封装,可能更能程序员对内存分配等更熟悉(适合深入学习)

2.“C++是一门面向对象的语言”

effective c++ 中 条款1就已经提到c++是个语言联邦

确实是这样,c++不单纯面向对象,它有面向过程(c的部分),和泛型等,所以它实现一种东西可能会有好几种方法。

也就是在c++的代码中看到的不只是面向对象的东西,还会有各种东西混入。一个c++的程序员除了有oo的思维还不够?还要兼顾c++的其他特性?才能写出优秀的c++代码?

文中也提到了一些关于虚函数的不好之处:

引用原文:<C++代码必须是面向对象的想法(即到处使用类继承和虚方法),可能严重损坏效率。如果你需要一组类型的运行时解决方案,面向对象编程的观点是伟大的。我 就经常使用它。

然而,它是相对严格的(并不是每个类型都适应类继承),并且虚方法调用抑制了内链函数(它可以在一些简单而重要的场景中降低你50倍的速 度)。>

3.“为了软件可靠性,你需要垃圾回收”

我觉得这里主要说的是,程序员应该更多地去主动管理内存,而不是依赖于垃圾回收机制。还有我觉得这里有hardsell智能指针的嫌疑

4. “为了效率,你必须编写底层代码”

感觉这段主要是通过介绍stl的sort比c的qsort快,来说明c++的优势。。。哈哈

5. “C++只适用于大型、复杂的程序”

这段主要是想说明c++也可以很容易(少量代码)地写出小型程序?(应该没有脚本语言那么容易吧)

好吧,因为我也经常觉得c++开发好麻烦啊,一般写小工具都不会用c++,还觉得0基础学android也比学c++容易。

其实我认为就是c++用得不好会有问题,但不代表c++不能用来写小型工具吧?

【转】C++之父:C++ 的五个普遍误解的更多相关文章

  1. iOS开发--ChildViewController实现订单页的切换

    先不说废话, 上效果图, 代码量也不大, 也不上传github骗星星了, 你们复制粘贴下代码, 就可以轻而易举的弄出一个小demo. 这个代码的实现并不复杂, 甚至于说非常简单, 就是逻辑有点小绕, ...

  2. 【分布式】Zookeeper使用--命令行

    一.前言 在学习了Zookeeper相关的理论知识后,下面接着学习对Zookeeper的相关操作. 二.Zookeeper部署 Zookeeper的部署相对来说还是比较简单,读者可以在网上找到相应的教 ...

  3. iOS开发——UI基础-屏幕适配

    一.适配 1.什么是适配?适应.兼容各种不同的情况 2.移动开发中,适配的常见种类 2.1系统适配 针对不同版本的操作系统进行适配 2.2屏幕适配 针对不同大小的屏幕尺寸进行适配 二.点和像素 1.在 ...

  4. 《深入理解javascript原型和闭包系列》 知识点整理(转)

    深入理解javascript原型和闭包系列 对原型和闭包等相关知识的讲解,由浅入深,通俗易懂,每个字都值得细细研究. 一.一切都是对象 1. typeof操作符输出6种类型:string boolea ...

  5. 《深入理解javascript原型和闭包系列》 知识点整理

    深入理解javascript原型和闭包系列 对原型和闭包等相关知识的讲解,由浅入深,通俗易懂,每个字都值得细细研究. 一.一切都是对象 1. typeof操作符输出6种类型:string boolea ...

  6. A*寻路算法的探寻与改良(二)

    A*寻路算法的探寻与改良(二) by:田宇轩                                                     第二部分:这部分内容主要是使用C语言编程实现A*, ...

  7. Js DOM 详解

    DOM事件类 基本概念 DOM事件的级别 1.DOM0 element.onclick = function(){} 2.DOM2 element.addEventListener("cli ...

  8. Linux信号实践(3) --信号内核表示

    信号在内核中的表示 执行信号的处理动作称为信号递达(Delivery),信号从产生到递达之间的状态,称为信号未决(Pending).进程可以选择阻塞(Block)某个信号.被阻塞的信号产生时将保持在未 ...

  9. 微信小程序----wxss设置样式

    一.wxml 界面结构wxmL比较容易理解,主要是由八大类基础组件构成: 一.视图容器(View Container): 二.基础内容(Basic Content) 组件名 说明 组件名 说明 vie ...

随机推荐

  1. 如何正确响应ArcGIS JavaScript API中图形的鼠标事件

    在使用ArcGIS JavaScript API编写程序的时候,程序员往往需要完成这样一个功能:点击地图上的图形,自动进行专题GIS数据查询,当在地图非图形区域上点击时,自动进行底图兴趣点查询. 由于 ...

  2. Java 内部类的阐述

    创建一个Computer抽象类:用来在Test类中创建匿名抽象类 package com.zhiyou; public abstract class Computer { int a = 1; /** ...

  3. OC KVC

    OC KVC KVC 全称 key valued coding 键值编码 在说KVC之前应该简单的了解一下反射机制 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法. 对于任意 ...

  4. PHP开发之Zend Studio快捷键汇总

    应用场景 快捷键 功能 查看快捷键 ctrl+shift+l 显示所有快捷键列表 查看和修改快捷键 打开Window->Preferences->General->keys 修改字体 ...

  5. 基于显卡的光栅化渲染器Gaius计划

    决定实现一个基于显卡的光栅化渲染器,能将一些基于显卡的新算法融入其中.

  6. Mindjet MindManager思维导图工具的使用 - 项目管理系列文章

    在项目管理过程中,不可避免的要使用到各种各样的项目管理工具.本文就对我自己使用的Mindjet Manager进行一下介绍,推荐给大家使用. 1.  打开软件 这里使用了2012版 2.  软件的界面 ...

  7. 47个过程(PMBOK2008)

    项目管理过程 知识领域 过程组 含义 之前应完成 之后要进行 制定项目章程 整合 启动 编写一份正式批准项目并授权项目经理使用组织资源的文件的过程 无 制定项目管理计划 制定项目管理计划 整合 规划 ...

  8. StringUtils工具类

    StringUtils源码,使用的是commons-lang3-3.1包.下载地址 http://commons.apache.org/lang/download_lang.cgi 以下是String ...

  9. Oracle 12.1.0.2 New Feature翻译学习【In-Memory column store内存列存储】【原创】

    翻译没有追求信达雅,不是为了学英语翻译,是为了快速了解新特性,如有语义理解错误可以指正.欢迎加微信12735770或QQ12735770探讨oracle技术问题:) In-Memory Column ...

  10. js获取浏览器内核、类型、版本以及系统类型

    正则表达式: var rsys = /\b(windows|win32|macintosh|mac os x|adobeair|linux|unix)\b/; var rkn = /\b(opera| ...