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挖掘研究中存在着一个关 ...
随机推荐
- application.xml定时
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- 基于QT的换肤整体解决方案(QSkinStyle)(提供Linux的XP风格)
基于QT的换肤整体解决方案(QSkinStyle) 对QT这个成功的跨平台GUI库,本身内置了对换肤功能的实现,比如cleanlooks.plastique等跨平台风格:还有一些是和平台相关的风格,比 ...
- 几种C#程序读取MAC地址的方法
原文:几种C#程序读取MAC地址的方法 以下是收集的几种C#程序读取MAC地址的方法,示例中是读取所有网卡的MAC地址,如果仅需要读取其中一个,稍作修改即可. 1 通过IPConfig命令读取MAC地 ...
- Windows系统上如何使用SSH
Windows系统上如何使用SSH 传统的网络服务程序如FTP.Telnet等,在网络上一般使用明文传送数据.用户账号和口令信息,容易受到中间人的攻击.用户利用SSH协议后能有效防止DNS及IP欺骗, ...
- html5--等待加载效果
<!DOCTYPE HTML> <html lang="zh-cmn-Hans"> <head> <meta charset=" ...
- sql 存储过程 循环使用
USE [clab] GO /****** Object: StoredProcedure [dbo].[sp_bd_getResultByEcd] Script Date: 08/06/2014 1 ...
- [HIHO1184]连通性二·边的双连通分量(双连通分量)
题目链接:http://hihocoder.com/problemset/problem/1184 题意裸,写个博客记下输出姿势. /* ━━━━━┒ギリギリ♂ eye! ┓┏┓┏┓┃キリキリ♂ mi ...
- android完全退出应用程序
android 完全退出应用程序android android 退出应用程序, 单例模式管理Activity引自:http://www.yoyong.com/archives/199android 退 ...
- Json转译
public string ListToJson<T>(IList<T> list, string jsonName) { StringBuilder Json = new S ...
- iOS开发:UINavigationController常用操作
NavigationController常用操作: 更改bar的背景颜色:self.navigationController?.navigationBar.barTintColor =UIColor. ...