哆啦比猫的技术瞎扯 - Arch Linux · ドラえもん · 实时绘制

C++ 全局单例封装 C 语言库

C 语言的很多库都需要在程序开头初始化,程序结束时释放资源。在 C++ 中常规的封装方法是:

module.hh
 1 namespace module
 2 {
 3     // life time management
 4     void init();
 5     void free();
 6 
 7     // operations
 8     void foo();
 9     void bar(int baz);
10 }

这样的 API可以和 C 语言中的对应起来,但是这种 API 极易出错,比如,有可能会在 init 前调用了 foo,也可能在 free 后调用了 bar,可能 init 了多次,也可能忘了 free 等等。本文将讨论这种类型的 API 在 C++ 中该怎样设计才能更安全、更 fool-proof。

继续阅读

「译」 C++ 五大谣言(及辟谣),第1部分

译者注:本文于 2014年12月9日 由 C++ 之父 Bjarne Stroustrup 发表于 C++ 官方网站上 https://isocpp.org/blog/2014/12/myths-1

「为了您在冬季能享受阅读的快乐,我们很高兴地推出了这个由 Bjarne Stroustrup 写的三部分系列文章。本文是第一部分,第二和第三部分将会在接下来的两个星期一发表,届时正好是圣诞节。Enjoy. ——小编」

简介

在这个由三个部分构成的系列文章中,我将会探索并破解以下五大 C++ 谣言:

  1. “要理解 C++,你必须先学会 C”
  2. “C++ 是面向对象语言”
  3. “要写可靠的软件,你需要垃圾回收机制”
  4. “为了软件运行的效率(efficiency),你必须写底层代码”
  5. “C++ 只适合大型、复杂的程序”

继续阅读




© 2010-2019 Giumo Xavier Clanjor (哆啦比猫/兰威举).
© 2013, 2014, 2015-2016 and 2017 The Dark Colorscheme Designed by Giumo Xavier Clanjor (哆啦比猫/兰威举).
知识共享署名·非商业性使用·相同方式共享 3.0 中国大陆许可协议
| © 2007 LinuxGem | Design by Matthew "Agent Spork" McGee