关闭

STL学习笔记(四):仿函数(functor)

        任何东西,只要其行为像一个函数,它就是一个函数。这就是functor的精髓。所谓函数行为,是指可以“使用小括号传递参数,进而调用某个东西”。       仿函数有一下优点:             1、仿函数是“SMART FUNCTIONS”。因为它是一个对象,可以用有成员函数和成员变量。这意味着它可以拥有状态。             2、仿函数有自己的型别。  ...
阅读(275) 评论(0)

STL学习笔记(三):STL的可扩展性

        要把STL理解成一个framework,而不仅仅是一个高效的tools.       当然,在达到一定的水平之前,还是把它当作tools比较好。 ...
阅读(298) 评论(0)

STL学习笔记(二):STL对待错误的态度

        STL的设计原则是效率优先,安全次之。所以STL中几乎没有提供内建的错误检查机制。这就意味着如果程序员违反了规则,将会导致未定义行为。       当然,可以通过重新包装的STL而获得安全的STL,这就需要在效率和安全之间做出权衡。 ...
阅读(349) 评论(0)

STL学习笔记(一):Value语义

        STL只支持Value语义,不支持reference语义。就是说所有容器只会建立并返回元素的副本。STL只保证对象“相等”(equal)而不是“同一”(identical)。        但是,可以通过value语义实现reference语义。通常有三种方式,最简单的是通过指针,好的方法是通过smart pointers,更进一步的安全方法是引用计数式的smart pointe...
阅读(334) 评论(0)

作用域掩藏

在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...
阅读(218) 评论(0)

三十分钟掌握STL

转贴三十分钟掌握STL这是本小人书。原名是《using stl》,不知道是谁写的。不过我倒觉得很有趣,所以化了两个晚上把它翻译出来。我没有对翻译出来的内容校验过。如果你没法在三十分钟内觉得有所收获,那么赶紧扔了它。文中我省略了很多东西。心疼那,浪费我两个晚上。译者:karycontact:karymay@163.netSTL概述STL的一个重要特点是数据结构和算法的分离。尽...
阅读(389) 评论(0)

一句话

很不错的一句话,收藏了。从菜鸟到高手用不了几本书,但需要很多个键盘 。...
阅读(218) 评论(0)

论调用约定

感谢原作者:http://www.xiaozhou.net/ReadNews.asp?NewsID=933在C语言中,假设我们有这样的一个函数:int function(int a,int b)调用时只要用result = function(1,2)这样的方式就可以使用这个函数。但是,当高级语言被编译成计算机可以识别的机器码时,有一个问题就凸现出来:在CPU中,计算 机没有办法知道...
阅读(268) 评论(0)

谈谈Unicode编码 简要解释UCS/UTF/BMP/BOM

此文系转贴 感谢原作者:http://news.newhua.com/html/system_win/2005-5/18/16148354.shtml这是一篇程序员写给程序员的趣味读物。所谓趣味是指可以比较轻松地了解一些原来不清楚的概念,增进知识,类似于打RPG游戏的升级。整理这篇文章的动机是两个问题:问题一: 使用Windows记事本的“另存为”,可以在GBK、Unicode、U...
阅读(328) 评论(0)

语言之后的两个问题

  对于我这个半路出家的人来说 ,明白这一点颇费了些功夫。  当你对语言有一定了解之后,你就要确定两个问题:一个方向和一个平台。  一、方向问题    你到底想从事哪个方向,比如,网络,数据库,GUI之类。  二、平台问题    windows,linux/unix还是嵌入式平台。   之后你就可以考虑职业问题了。...
阅读(310) 评论(0)

操作系统学习笔记(三):多道程序的基础——空分复用

计算机实现多道程序的基础是复用(共享)。复用有包括时分复用(主要针对CPU)和空分复用(主要针对内存)。其中实现空分复用面临两个问题:     一、程序之间如何防护,以及内核如何防护其它程序。     二、如何处理重定位。下面是经典的解决策略:     利用一个检测单元实现程序保护,利用一个映射单元实现重定位。     实现中则是利用一个基址寄存器(base register)和一个界限寄存器(l...
阅读(527) 评论(0)

操作系统学习笔记(二):计算机硬件

关于计算机硬件的一些基本知识。      一、关于CPU的一些概念:            流水线(pipeline):借用工业生产中的流水线技术,将时分复用的概念用于CPU内部的一种技术。现在的CPU多为多极流水线(20级以上)。           超标量CPU:拥有一条以上的流水线,可在一个时钟周期内执行一条以上的指令的CPU。            CPU的两种工作模式:除...
阅读(334) 评论(0)

操作系统学习笔记(一):什么是操作系统?

            操作系统承担着两个相对独立的任务:扩展机器和管理资源。这就给出了描述操作系统的两个视角。      首先,从扩展机器的角度看,操作系统操作系统为用户提供了一台等价虚拟机(virturl machine)或称扩展机器(extended machine)。这是一种自顶向下的观点,认为OS为用户提供了一个方便的接口。同时也使硬件开发和软件开发相对独立。     而从另一角度看,O...
阅读(337) 评论(0)

求教一个c++异常问题

#includevoid foo(char* =0);int main(){           foo("hello,");           try{                          foo();                  }               catch(...){                          std::cout      ...
阅读(422) 评论(0)

随想

人要么足够简单,足以感悟一切;要么就足够复杂,足以洞察一切。 ...
阅读(404) 评论(1)
    个人资料
    • 访问:8396次
    • 积分:199
    • 等级:
    • 排名:千里之外
    • 原创:12篇
    • 转载:3篇
    • 译文:0篇
    • 评论:1条
    最新评论
    life
    open source