编程语言
文章来源:http://www.pixelstech.net/article/1392996968-What-has-Google-done-on-improving-programming-languages
Google现在位居全球最具创新的IT公司之首。他们常常会给我们带来一些革命性的产品,像Google Glass(谷歌眼镜)、Google
Fiber(谷歌光纤...
#include
#include //malloc需要此头文件
//定义单链表结点结构体
typedef int ElemType;
typedef struct Node
{
ElemType data;
struct Node *next;
}LNode,*LinkList;
//建立一个带头结点的单链表
void Build(LinkList L)
{...
??
C++ primer中关于适配器的定义——适配器(adaptor): 是使一种事物的行为类似于另外一事物的行为的一种机制。
这个定义初学时觉得好抽象。
为了理解C++中的适配器,不妨先了解物理上的适配器。
物理上的适配器就是一个接口转换器,它可以是一个独立的硬件接口设备,允许硬件或电子接口与其它硬件或电子接口相连,也可以是信息接口。比如:电源适配器、三角架基座转接部件、USB与串口的...
统计字母个数:
程序输入一个字符串(长度不超过100),全是小写字母.
统计小写字母出现的次数,并用要求的图表示出来.
测试数据:
Input:
sadjhasdhqwpopeepomcxnnbladkjkfjasjas
Output:
@
@ @ @
@ @ @ @ ...
先分析设计多线程定时任务管理器的思路。
首先,任务管理器类命名为WatchThread类,需要使用多线程,那我们可以使用thread类,并使用Thread里面的线程start和run。那我们可以设计如下:
#include
class WatchThread:private Thead
{
virtual void run()
{...
第七章 性能
本书的关注点不是告诉你如何优化你所要求的性能,亦非告诉你是否有必要,这些不是本书要关注的。性能应该是根据需要来定:有些对性能要求高的API,每秒都会调用好几次,而其它的API就很少被调用,这样它们的速度就没那么受关注了。不过,本书的关注点是告诉你什么样的API设计会影响到性能,还有如何优化接口的性能。
或许,你的实现不要求有那么高的性能,但是你的接口还是应该尽可能的优化,...
第八章 版本化
到目前为止,我主要把API的设计当作一个离散的任务,似乎API一旦有了完整的说明并发布给用户,任务就算完成了。当然,在实际工作中,这不过是一连串复杂过程的开始。API发布后,真正的工作才拉开序幕,API的开发过程需要接受检验。
API 很少在1.0版本发布后就停止开发。总是会有漏洞要修复,新功能要整合,工作流程要简化,架构要改进,其它的平台要支持等。
API的初始版本发布后,...
第九章 文档
在本书的第一章,我把API定义为一个或多个头文件再加上文档支持。事实上,除非API附带上文档,否则API还是处于未完成的状态。这是因为头文件并未指定API的行为,只是包含各种函数和方法的调用协议。David L. Parnas很好地解释过这些(Parnas, 1994):
重用是说起来容易,做起来难。这么做同时需要良好的设计和优秀的文档。即使是有不错的设计,这还是比较少见...
第十章 测试
每个开发人员,无论是多么有经验和细心,在编写软件时都会发生错误。特别是随着API大小和复杂度增加时就会变得不可避免了。测试的目的就是尽早找到这些缺陷,以便在影响你的用户之前解决好这些问题。
现代软件开发中非常依赖第三方API。一旦你的API被广泛使用,那么只要你的代码中有不足和缺点的话就会影响很多用户以及他们的终端用户程序。
正如前面提到过的,如果你实现的代码充满错...
第十一章 脚本
到本章为止,我主要关注的是API设计方面的通用内容,可以应用到所有的C++项目上。在涵盖了标准的API设计流程后,本书的剩余章节更多的是处理脚本和扩展性这些特别的主题。虽然不是所有的API都需要关心这些主题,但是它们正成为现代程序开发中更受欢迎的主题。因此,我认为对于一本全面介绍C++ API设计的书应该包括这些高级的主题。
相应地,本章讨论处理的主题是脚本。也就是说,...