分享
 
 
 

Essential C++ Primer

王朝c/c++·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

Please "Learning Standard C++ as a New Language", and "Speaking C++ as a Native"

朋友的公司还在用C++的环境编写着“带类的C”代码,每天回来就倒苦水,我曾经工作过的一家公司也有动辄几千行的C风格的函数

这里概述一下C++最最基本的用法,只能算是入门前的准备工作

一、编程本身

描述问题,用于与人交流

描述解决方案,用于与计算机交流

假设解决方案就是问题的描述本身,那么,这是完美的,例如 Select * From books;

而目前主流开发平台还做不到这一点,于是存在两个我们需要处理的空间,“问题空间”和“算法空间”

小说的描述依赖于自然语言,凡不可言说者必保持沉默,程序的表达依赖于编程语言

学习C++,就是用C++的术语、词汇来描述这两个空间,而不是C语言的术语、词汇;其它语言也是如此

因此,你应该首先熟悉C++本身

二、语言本身

不要理会面向对象,不要理会泛型编程,不要理会函数式编程,不要理会产生式编程,在上学学习母语语法前,你已经学会了用人类的语言表达高兴愤怒,而不是用小狗或别的动物的语言,也已经学会了如何用人类的语言讨要你心爱的玩具;让我们用C++的语言做个玩具程序:

读入一个文本文件,将每一行文本形成的字符串按字母顺序从小到大排序,然后将排序后的内容写入另一个文件

分析:

问题空间中的对象:输入文件,字符串,输出文件

算法空间中的对象:读,缓冲,排序,写

用C++描述:

输入文件:ifstream

字符串:string

输出文件:ofstream

读:getline

缓冲:vector, vector.push_back

排序:sort

写:copy

最终的程序:

int main()

{

ifstream fin("in.txt") ; //输入文件

vector<string> buf; //缓冲区

string d; //字符串临时对象

while(getline(fin,d)) buf.push_back(d) ; //读,并缓冲

sort(buf.begin() ,buf.end()) ; //排序

ofstream fout("out.txt") ; //输出文件

copy(buf.begin() ,buf.end() ,ostream_iterator<string>(fout,"\n")) ; //写

}

没有char*[],scanf,printf,OpenFile等非我族类的词汇

三、入门

至少有四本教材可用于“正确的C++的正确的入门”,推荐阅读

Essential C++

C++ Primer

The C++ Programming Language

The C++ Standard Library

四、提高

定理的证明依赖于基础数学语言,但也可以依赖于其它已经被证明的定理,入门之后,就可以学习如何用C++来表达面向对象,表达通用算法,像前文的sort,copy等,或用来实现其它更高层的抽象,如用它来实现一种DSL,使我们能够将上面程序的描述和解决方案用下面的语句统一起来:

Write (Read * From in.txt Orderby alpha) To out.txt;

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有