相关分类: Java技术 C/C++ VB delphi
  • C 箴言:在资源管理类中准备访问裸资源

    资源管理类真是太棒了。他们是您防御资源泄漏的防波堤,没有这样的泄漏是设计良好的系统的基本特征。在一个完美的世界中,您能够在任何和资源的交互中依赖这样的类,从来无需因为直接访问裸资源(raw resources)而玷污您的手。但是这个世界并不完美,很多 API 直接涉...

    2008-02-23 05:40:42

  • 常见的重要电脑英语及其缩写

    PC:Personal Computer,个人电脑、个人电脑,又称微型电脑或微机。 ??NC: Network Computer,网络电脑。 MPC: Multimedia Personal Computer,多媒体个人电脑。 MMX: 是MultiMedia eXtensions(多媒体扩展)的缩写,是第六代CPU芯片的重要特点。MMX技术是在CPU中加入...

    2008-02-23 05:40:41

  • C 箴言:将new出来的对象存入智能指针

    不要忘记使用对象管理资源的至理名言,processWidget 为处理动态分配的 Widget 使用了一个智能指针。 假设我们有一个函数取得我们的处理优先级,而第二个函数根据优先级针对动态分配的 Widget 做一些处理: int priority(); void processWidget(std::tr1::shared_ptrWi...

    2008-02-23 05:40:41

  • C 箴言:使接口易于正确使用

    C 被淹没于接口中。函数接口、类接口、模板接口。每一个接口都意味着客户的代码和您的代码互相影响。假设您在和通情达理的人打交道,那些客户也想做好工作。他们想要正确使用您的接口。在这种情况下,假如他们犯了一个错误,就说明您的接口至少有部分是不完善的。在理...

    2008-02-23 05:40:40

  • C 箴言:用传引用给const取代传值

    缺省情况下,C 以传值方式将对象传入或传出函数(这是个从 C 继承来的特性)。除非您特别指定其他方式,否则函数的参数就会以实际参数(actual argument)的拷贝进行初始化,而函数的调用者会收到函数返回值的一个拷贝。这个拷贝由对象的拷贝构造函数生成。这就使得传...

    2008-02-23 05:40:40

  • C 箴言:必须返回对象时别返回引用

    一旦程式员抓住对象传值的效率隐忧,很多人就会成为狂热的圣战分子,誓要根除传值的罪恶,无论他隐藏多深。他们不屈不挠地追求传引用的纯度,但他们全都犯了一个致命的错误:他们开始传递并不存在的对象的引用。这可不是什么好事。 考虑一个代表有理数的类,包含一个将...

    2008-02-23 05:40:40

  • C 箴言:将数据成员声明为private

    任何反对 public 数据成员的理由同样适用于 protected 数据成员。这就导出了数据成员应该是 private 的结论。 首先,我们将看看为什么数据成员不应该声明为 public。然后,我们将看到任何反对 public 数据成员的理由同样适用于 protected 数据成员。这就导出了数据成员...

    2008-02-23 05:40:39

  • C 箴言:用非成员非友元函数取代成员函数

    想象一个象征 web 浏览器的类。在大量的函数中,这样一个类也许会提供清空已下载成分的缓存。清空已访问 URLs 的历史,连同从系统移除任何 cookies 的功能: class WebBrowser { public: ... void clearCache(); void clearHistory(); void removeCookies(); ... }; 很...

    2008-02-23 05:40:39

  • C 箴言:考虑支持不抛异常的swap

    swap 是个有趣的函数。最早作为 STL 的一部分被引入,后来他成为异常安全编程(exception-safe programming)的支柱和压制自赋值可能性的通用机制。因为 swap 太有用了,所以正确地实现他很重要,但是伴随他的不同寻常的重要性而来的,是一系列不同寻常的复杂性。在本...

    2008-02-23 05:40:38

  • C 箴言:理解Terminology术语

    这是个任何程式员都应该了解的小型的 C 词汇表。下面的条目都足够重要,值得我们对他们的含义务必取得完全一致。 声明(declaration)告诉编译器关于某物的名字和类型,但他省略了某些细节。以下这些都是声明: extern int x; // object declaration std::size_t numDi...

    2008-02-23 05:40:37

2