c++ 概念及学习/c++ concept&learning(一)
学习过计算机组成原理就会知道,处理器会从主存中取得指令,然后进行解释执行。而他们的交流方式是以二进制方式进行的,也就是他们只能识别1和0
;其实计算机是不知道1和0的,现在的实现方式是以高电压与低电压来代表1/0。CPU会从主存中取出指令进行执行。这样整个计算机就可以运行起来。
计算机作为为人服务的机器,必须接受人的控制。所以最初的“程序”是一种打孔的卡片。读卡机将“程序”读入,CPU进入执行。可想而知,这种“
程序”是物理的,假如上百行的代码,可能需要N公斤重的“卡片”。所以为了提高程序开发效率,和简易程序,就发明了汇编,把汇编编写的程序,进
行翻译,生成一个包括机器码的可执行文件,比如微软的8086汇编,80386汇编。
后来有了微软的PC,人们对计算机的需求急剧增加。汇编的开发效率等方面已经严重的不要满足生产需要,随之开发了对程序员友好的C语言,同时期还有很多
不同风格的语言,这里捡主要的来说。但c语言的开发效率和执行效率,很好的满足了当时的需要。在很长一段时间里,许多智慧的程序员用C语言开发了很多实用
并且强大的程序。以C的功力,现在很多系统都是用C作为底层构造语言,比如python的库就是用C写的。开发语言说到底是为程序员来服务的,C的学习和掌控
难度,对于初级乃至使用C几年的程序员来说,都 极易说出使系统崩溃的BUG,而且C没有面向对象开发范式的支持,对于面向对象的开发形式来说无能为力。
Bjarne Stroustrup在smalltalk的基础上对C进行扩展, 增加了面向对象的支持,从而拉开了C++的发展大幕,而后的C++对泛型的支持,使整个开发语言界面都深受其影响。
同期的JAVA,C#对编程范式的支持 ,也无出其右。不过,现在动态编程的发展,是C++所不具备的能力。正因为C++支持绝在多数主流的开发范式,所以学习
C++是一件比较不容易的事情。
学习C++,要掌握三种编程范式:一:过程式 二:面向对象/基于对象 三:泛型编程;
在这之前要掌握C++的语言细节及概念。
一:基本类型 int bool 等等 二:流程控制 if else while 等 三:类 class 四:泛型
这些语言实现与编程范式,共同构成了C++语言的主体部分。
c++ 概念及学习/c++ concept&learning(一)的更多相关文章
- c++ 概念及学习/c++ concept&learning(二)
上篇内容讲述了整个语言的发展[为什么会产生编程语言],以及学习C++所需要掌握的内容.这节开始认识第一部分最基本的内容:C++的内建类型,也就是基本类型. 在这些知识之前留一个问题:为什么基本所有语言 ...
- c++ 概念及学习/c++ concept&learning(三)
这一篇继续说说程序设计中的基本语句:控制块 一 if类控制语句 if if else if , else if ,else if(条件语句){如果条件为真,要做的一些事情} if(条件语句) {如 ...
- 【转载】 《Human-level concept learning through probabilistic program induction》阅读笔记
原文地址: https://blog.csdn.net/ln1996/article/details/78459060 --------------------- 作者:lnn_csdn 来源:CSD ...
- 多视图学习(multiview learning)
多视图学习(multi-view learning) 前期吹牛:今天这一章我们就是来吹牛的,刚开始老板在和我说什么叫多视图学习的时候,我的脑海中是这么理解的:我们在欣赏妹子福利照片的时候,不能只看45 ...
- 增强学习(Reinforcement Learning and Control)
增强学习(Reinforcement Learning and Control) [pdf版本]增强学习.pdf 在之前的讨论中,我们总是给定一个样本x,然后给或者不给label y.之后对样本进行 ...
- 网络表示学习Network Representation Learning/Embedding
网络表示学习相关资料 网络表示学习(network representation learning,NRL),也被称为图嵌入方法(graph embedding method,GEM)是这两年兴起的工 ...
- 机器学习--集成学习(Ensemble Learning)
一.集成学习法 在机器学习的有监督学习算法中,我们的目标是学习出一个稳定的且在各个方面表现都较好的模型,但实际情况往往不这么理想,有时我们只能得到多个有偏好的模型(弱监督模型,在某些方面表现的比较好) ...
- 零次学习(Zero-Shot Learning)入门(转)
很久没有更文章了,主要是没有找到zero-shot learning(ZSL)方面我特别想要分享的文章,且中间有一段时间在考虑要不要继续做这个题目,再加上我懒 (¬_¬),所以一直拖到了现在. 最近科 ...
- 迁移学习( Transfer Learning )
在传统的机器学习的框架下,学习的任务就是在给定充分训练数据的基础上来学习一个分类模型:然后利用这个学习到的模型来对测试文档进行分类与预测.然而,我们看到机器学习算法在当前的Web挖掘研究中存在着一个关 ...
随机推荐
- Git教程之创建版本库(2)
什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以追踪历史,或 ...
- ActiveMQ集群(2)
ActiveMQ具有强大和灵活的集群功能,但在使用的过程中会发现很多的缺点,ActiveMQ的集群方式主要有两种:Master-Slave和Broker Cluster. 1.Master-Slave ...
- servlet基础讲解
基本知识一.Web结构1.两种应用程序 ①桌面应用程序:QQ.CS.MyEclipse.Office.DW.360.浏览器等必须下载.安装.桌面快捷方式.注册表信息.操作系统后台服务.占用操作系统端口 ...
- Codeforces Round #207 (Div. 1)B(数学)
数学so奇妙.. 这题肯定会有一个循环节 就是最小公倍数 对于公倍数内的相同的数的判断 就要借助最大公约数了 想想可以想明白 #include <iostream> #include< ...
- autofac meta
http://kevincuzner.com/2014/05/19/extreme-attributed-metadata-autofac/ http://stackoverflow.com/ques ...
- Asp.Net IEnumerable,ICollection,IList,List区别
做C#的同学们,都知道,一类只能有一个继承类,但可以实现多个接口.这句话就告诉我们:IEnumerable,ICollection,IList,List区别了 首先我看看 IEnumerable: / ...
- Java知识点:条件编译
条件编译 一般情况下,源程序中所有的行都参加编译.但有时希望对其中一部分内容只在满足一定条件下才进行编译,即对一部分内容指定编译条件,这就是“条件编译”(conditional compile). ...
- FFmpeg解码H264及swscale缩放详解
本文概要: 本文介绍著名开源音视频编解码库ffmpeg如何解码h264码流,比较详细阐述了其h264码流输入过程,解码原理,解码过程.同时,大部分应用环境下,以原始码流视频大小展示并不是最佳方式,因此 ...
- html5极速3D立体式图片相册切换效果
下载Demo
- WebView 中重写javascript 常用函数
常规函数 javascript 常规函数包括以下3个函数: (1)alert函数:显示一个警告对话框,包括一个OK按钮. 对应:http://www.dreamdu.com/javascript ...