So, what C++ do YOU use in you practice? Do you mix the styles, say, arrays and vectors? Are there any rules or best practices here?…

现代C,绝对。但是在我看来,这并不排除阵列。仍然存在阵列优于载体的情况。但是当我使用数组时,我以STL的方式使用它们。我使用指针作为迭代器,我将STL算法应用于数组的内容,依此类推。

顺便说一下,Bjarne Stroustrup自己已经被引用来描述C以与自己描述的非常相似的方式:

Within C++, there is a much smaller and cleaner language struggling to get out

当然有限制。与现代C,编译时间往往受苦。而且它需要更多的高级编译器,这在某些平台上使得它不会发生。而且还有很多更保守的主要开发人员或项目经理,或者古代的代码库有时意味着它也不是一个选择。而且有一定的学习曲线,因为C的所有陷阱仍然存在,你只需要学会绕过他们(例如,内存泄漏不会消失,现代C只是定义了一些非常强大的模式来避免它们)。

但是我认为现代C可以被认为是一种美丽的语言。这绝对不是你如何描述传统的“C-class”风格C。

当我使用(其他)高级语言工作时,我发现几乎总是有一些我从C中想念的东西。语言错过了强大的和类型安全的容器或表达式迭代器/算法,或者它缺少对RAII的支持,或者没有办法表达通用算法,就像模板一样。

这些语言也有其优点,而且无可争辩的地方,他们比C更好。但我通常也发现他们有明显的缺点,在那里我无法表达自己的想法以及我可以在C。我必须跳过篮球,牺牲类型的安全,依靠反思或其他任何东西,只是为了做一些C自己支持的东西。

c 高级语言,C作为高级语言?相关推荐

  1. 计算机有很多高级语言例如,计算机高级语言是指什么?

    匿名用户 11级 2009-08-27 回答 计算机语言的种类非常的多,总的来说可以分成机器语言,汇编语言,高级语言三大类. 电脑每做的一次动作,一个步骤,都是按照以经用计算机语言编好的程序来执行的, ...

  2. java高级语言特性,Java高级语言特性之注解

    注解的定义 Java 注解(Annotation)又称 Java 标注,是 JDK1.5 引入的一种注释机制. 注解是元数据的一种形式,提供有关于程序但不属于程序本身的数据.注解对它们注解的代码的操作 ...

  3. Java匹马行天下之学编程的起点——高级语言大锅烩

    学编程的起点--高级语言大锅烩 前言: 学知识前总想说点鸡汤,想喝的朋友就看看,不想喝的就直接看干货吧,就当鸡汤是给我自己喝的. 前段时间在网上看了一句话感觉挺触动我的,我做个分享: 如果你觉得你的祖 ...

  4. 计算机高级语言的优点,计算机语言|机器、汇编、高级语言联系及优缺点

    自从有了计算机,就有了计算机语言.计算机语言又称为程序设计语言,它是人和计算机进行交流的工具,人们利用它写出能被计算机识别并执行的符号代码,指挥计算机工作. 迄今为止,计算机语言经历了机器语言.汇编语 ...

  5. 机器语言、汇编语言和高级语言之间的关系

    看了一篇讲解高级语言.汇编语言和机器语言的博客,感觉很受益,在这里简单总结一下. 1. 机器语言 计算机执行的二进制命令,都是0和1表示的. 2. 汇编语言 具有一定意义的文字命令,与机器语言一一对应 ...

  6. 【编译原理】高级语言及其语法描述

    文章目录 高级语宫及其语法描述 (一)程序语言的定义 (二)高级语言的一般特性 1.高级语言的分类 2.数据类型与操作 3.语句与控制结构 (三)程序语言的语法描述 1.几个重要概念 2.上下文无关文 ...

  7. 被劝退的学渣,逆袭成高级语言之父,改变编程方式却说“不喜欢写代码”!...

    作者 | 年素清 责编 | 伍杏玲 出品 | 程序人生(ID:coder_life) 上世纪五十年代,程序员使用的是 0/1 机器语言写代码,费时费力.如何进化到如今只需轻松高效地输入字符组成不同的编 ...

  8. 汉语是世界上唯一一种面向对象的高级语言

    2019独角兽企业重金招聘Python工程师标准>>> 在 网上看到过很多有关汉语和英语比较的文章,他们写的都很不错,并且列举了大量的事例 来证明汉语或者英语是优秀的. 不过,我想用 ...

  9. python高级语言应用报告_Python 语言及其应用 - 第一章

    1.1:Python是一门动态语言(也被称为脚本语言),是一门非常通用的高级语言. 1.2:关于静态语言与动态语言:静态语言要求你必须声明每个变量的类型:它会使用多少内存以及允许的使用方法.计算机利用 ...

最新文章

  1. 只有这种AI芯片才能拯救人工智能?
  2. 内存数据库服务运营之路
  3. Dell服务器相关操作
  4. Http 与 Socket 区别
  5. Tomcat catalina.bat 原理解析
  6. 一个由于Pricing RFC引起的UI超时问题
  7. 8s nfs 挂载文件_把你的树莓派家庭实验室变成一个网络文件系统 | Linux 中国
  8. 从今天开始学习iOS开发(iOS 7版)-- 概论 (一)
  9. 大数据比海量数据多了什么
  10. L298N电机驱动原理图+PCB制版文件(和你买的模块一模一样的!)
  11. 市电220V说的是峰峰值还是有效值呢?
  12. 程序员自学能学会吗?我是自学的,努力比天分重要
  13. 怎样给word插入页码,点击进来有惊喜
  14. Nginx服务(6)——实现Gzip网页压缩和图片压缩
  15. Macbook Pro 外接显示器关闭內建屏幕的方法,开盖状态
  16. h5 vue利用canvas实现手机签名并且可旋转功能
  17. 工作一年了,小贺和大家说说心里话
  18. ECharts之阶梯瀑布柱状图
  19. 微信视频气泡 android,变变微信聊天气泡
  20. matlab中plot矢量长度,关于plot函数矢量长度弹错的问题

热门文章

  1. Log4j框架配置文件
  2. MySql:函数总结
  3. wp博客链接.html,WordPress博客文章标题链接到自定义网址链接
  4. 时间序列 - 案例按步骤详解 -(SPSS建模)
  5. LeetCode之两数相加
  6. 不同于NLP,数据驱动、机器学习无法攻克NLU,原因有三
  7. 会议交流 | 人工智能与机器学习创新峰会 - 知识图谱与图神经网络分会
  8. 领域应用 | HiTA知识图谱 “药品-适应证”图谱数据发布!
  9. RuntimeError: Failed to register operator torchvision::_new_empty_tensor_op. +torchtorchversion版本匹配
  10. Django - ORM操作