- 博客(15)
- 资源 (3)
- 收藏
- 关注
原创 STL学习笔记(四):仿函数(functor)
任何东西,只要其行为像一个函数,它就是一个函数。这就是functor的精髓。所谓函数行为,是指可以“使用小括号传递参数,进而调用某个东西”。 仿函数有一下优点: 1、仿函数是“SMART FUNCTIONS”。因为它是一个对象,可以用有成员函数和成员变量。这意味着它可以拥有状态。 2、仿函数有自己的型别。
2007-11-01 11:07:00 484
原创 STL学习笔记(三):STL的可扩展性
要把STL理解成一个framework,而不仅仅是一个高效的tools. 当然,在达到一定的水平之前,还是把它当作tools比较好。
2007-11-01 11:00:00 442
原创 STL学习笔记(二):STL对待错误的态度
STL的设计原则是效率优先,安全次之。所以STL中几乎没有提供内建的错误检查机制。这就意味着如果程序员违反了规则,将会导致未定义行为。 当然,可以通过重新包装的STL而获得安全的STL,这就需要在效率和安全之间做出权衡。
2007-11-01 10:57:00 485
原创 STL学习笔记(一):Value语义
STL只支持Value语义,不支持reference语义。就是说所有容器只会建立并返回元素的副本。STL只保证对象“相等”(equal)而不是“同一”(identical)。 但是,可以通过value语义实现reference语义。通常有三种方式,最简单的是通过指针,好的方法是通过smart pointers,更进一步的安全方法是引用计数式的smart pointe
2007-11-01 10:53:00 599
原创 作用域掩藏
在comp.lang.c++上看到的一个讨论。关于作用域的,不过后来又涉及到了初始化的问题。原文:Hi folks.Yesterday I modified some old code of mine, and ran intotrouble when I tested it. It turned out that I had renamed avariable to a name that wa
2007-11-01 10:30:00 346
转载 三十分钟掌握STL
转贴三十分钟掌握STL这是本小人书。原名是《using stl》,不知道是谁写的。不过我倒觉得很有趣,所以化了两个晚上把它翻译出来。我没有对翻译出来的内容校验过。如果你没法在三十分钟内觉得有所收获,那么赶紧扔了它。文中我省略了很多东西。心疼那,浪费我两个晚上。译者:karycontact:[email protected]概述STL的一个重要特点是数据结构和算法的分离。尽
2007-10-15 18:45:00 538
转载 论调用约定
感谢原作者:http://www.xiaozhou.net/ReadNews.asp?NewsID=933在C语言中,假设我们有这样的一个函数:int function(int a,int b)调用时只要用result = function(1,2)这样的方式就可以使用这个函数。但是,当高级语言被编译成计算机可以识别的机器码时,有一个问题就凸现出来:在CPU中,计算 机没有办法知道
2007-10-04 22:27:00 384
转载 谈谈Unicode编码 简要解释UCS/UTF/BMP/BOM
此文系转贴 感谢原作者:http://news.newhua.com/html/system_win/2005-5/18/16148354.shtml这是一篇程序员写给程序员的趣味读物。所谓趣味是指可以比较轻松地了解一些原来不清楚的概念,增进知识,类似于打RPG游戏的升级。整理这篇文章的动机是两个问题:问题一: 使用Windows记事本的“另存为”,可以在GBK、Unicode、U
2007-10-03 10:03:00 554
原创 语言之后的两个问题
对于我这个半路出家的人来说 ,明白这一点颇费了些功夫。 当你对语言有一定了解之后,你就要确定两个问题:一个方向和一个平台。 一、方向问题 你到底想从事哪个方向,比如,网络,数据库,GUI之类。 二、平台问题 windows,linux/unix还是嵌入式平台。 之后你就可以考虑职业问题了。
2007-10-02 10:47:00 455
原创 操作系统学习笔记(三):多道程序的基础——空分复用
计算机实现多道程序的基础是复用(共享)。复用有包括时分复用(主要针对CPU)和空分复用(主要针对内存)。其中实现空分复用面临两个问题: 一、程序之间如何防护,以及内核如何防护其它程序。 二、如何处理重定位。下面是经典的解决策略: 利用一个检测单元实现程序保护,利用一个映射单元实现重定位。 实现中则是利用一个基址寄存器(base register)和一个界限寄存器(l
2007-10-01 09:58:00 2871
原创 操作系统学习笔记(二):计算机硬件
关于计算机硬件的一些基本知识。 一、关于CPU的一些概念: 流水线(pipeline):借用工业生产中的流水线技术,将时分复用的概念用于CPU内部的一种技术。现在的CPU多为多极流水线(20级以上)。 超标量CPU:拥有一条以上的流水线,可在一个时钟周期内执行一条以上的指令的CPU。 CPU的两种工作模式:除
2007-10-01 09:20:00 478
原创 操作系统学习笔记(一):什么是操作系统?
操作系统承担着两个相对独立的任务:扩展机器和管理资源。这就给出了描述操作系统的两个视角。 首先,从扩展机器的角度看,操作系统操作系统为用户提供了一台等价虚拟机(virturl machine)或称扩展机器(extended machine)。这是一种自顶向下的观点,认为OS为用户提供了一个方便的接口。同时也使硬件开发和软件开发相对独立。 而从另一角度看,O
2007-09-30 15:17:00 588
原创 求教一个c++异常问题
#includevoid foo(char* =0);int main(){ foo("hello,"); try{ foo(); } catch(...){ std::cout
2007-08-16 09:12:00 572
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人