C/C++ - 哆啦比猫的技术瞎扯 - 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++ 谣言:
- “要理解 C++,你必须先学会 C”
- “C++ 是面向对象语言”
- “要写可靠的软件,你需要垃圾回收机制”
- “为了软件运行的效率(efficiency),你必须写底层代码”
- “C++ 只适合大型、复杂的程序”
OpenCV 直线检测
这货玩玩的
到时候再学学手势识别之类的就更好玩了~喵~~
[c] 100行实现简单的正则表达式引擎
注:此方法效率不高,仅供学习,产品级代码请使用 regexp 或 pcre 库!
gcc 匿名函数
看了一下 GCC Extentions 的手册,发现了点东西,利用这些东西终于可以实现我幻想很久的匿名函数了!
用 OpenAL 播放 ogg
不想说什么,直接上代码
lanos - Lanos' AN OS
终于知道怎么用 gcc 写OS了……
原来 GRUB 载入内核前会切换到 32bit 模式,这样就不用自己写 boot sector / loader / 32bit enabler 了
写了个三维迷宫练练手
终于写了个像样点的 OpenGL 程序了