文章三部分如下:

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. iOS 9 强制横屏

    首先在plist 文件中 Supported interface orientations 选项 只留下一个 portrait 屏幕强制横屏 使用以下代码 self.navigationControl ...

  2. Android自定义控件(二)

    这一篇主要来讲一下自定义控件中的自定义viewgroup,我们以项目中最常用的下拉刷新和加载更多组件为例 简单介绍一下自定义viewgroup时应该怎么做. 分析:下拉刷新和加载更多的原理和步骤 自定 ...

  3. JAVA实现图片裁剪

    /** * 裁剪图片 * @param src 源图片 * @param dest 裁剪后的图片 * @param x 裁剪范围的X坐标 * @param y 裁剪范围的Y坐标 * @param w ...

  4. 如何在 ASP.NET 4.6 与 IIS10 中运用 HTTP/2 ?

    在过去十年中,Web 技术已经取得了种种进展.从基本的 HTML 开始,网页发展出更丰富的外观和感觉,变得更加直观,对用户更加友好并且越来越大放异彩.这些变化的关键贡献来自于一些新的和翻新技术,且借力 ...

  5. #VSTS日志# TFS 2015 Update 2 RC2新功能

    有段时间没有更新#VSTS日志#了,最近小编太忙,全国各地飞来飞去给各种不同的团队实施敏捷,今天冷不丁一看,呀!TFS 2015 Update 2 RC2都已经发布了.里面好东西不少,列出几个给大家瞧 ...

  6. Ubuntu下安装中文输入法

    搜狗输入法 for Linux 是基于Fcitx 框架(fcitx-sogoupinyin). 安装环境为Ubuntu 13.04 安装过程: 卸载Ubuntu默认的ibus输入法: sudo apt ...

  7. W3School-CSS 轮廓(Outline)实例

    CSS 轮廓(Outline)实例 CSS 实例 CSS 背景实例 CSS 文本实例 CSS 字体(font)实例 CSS 边框(border)实例 CSS 外边距 (margin) 实例 CSS 内 ...

  8. 【转载】 Java线程面试题 Top 50

    Java线程面试题 Top 50 不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题.Java语言一个重要的特点就是内置了对并发的支持,让Java大受企业和程序员 的欢迎.大多数待遇丰厚的J ...

  9. nodejs处理get请求

    主要记录下获取get请求里面的参数的问题. 假设有这样一个链接 urlString='hello?name=LiLei&position=general' 要从这个链接里提取出参数name和p ...

  10. [译文]选择使用正确的 Markdown Parser

    以下客座文章由Ray Villalobos提供.在这篇文章中Ray将要去探索很多种不同的Markdown语法.所有的这些MarkDown变种均提供了不同的特性,都超越传统的Markdown语法,却又相 ...