c、c++ 编程 little tricks
文章平均质量分 73
liumf2005
这个作者很懒,什么都没留下…
展开
-
c语言中的函数间的跳转函数setjmp和longjmp
http://yijiuzai.blog.163.com/blog/static/10375672720105197114165/我们知道,在c语言中我们可以使用goto语句在一个函数中进行跳转,例如一个常用的goto方式为:......//分配资源......if error1 goto error;if error2转载 2012-12-25 12:32:48 · 829 阅读 · 0 评论 -
C++模板元编程
C++模板元编程http://www.mincoder.com/article/4403.shtml所谓元编程就是编写直接生成或操纵程序的程序,C++ 模板给 C++ 语言提供了元编程的能力,模板使 C++ 编程变得异常灵活,能实现很多高级动态语言才有的特性(语法上可能比较丑陋,一些历史原因见下文)。普通用户对 C++ 模板的使用可能不是很频繁,大致限于泛型编程,但一些系统级的代码,尤其是对通用性、转载 2015-07-09 10:42:15 · 924 阅读 · 0 评论 -
C++11(及现代C++风格)和快速迭代式开发
http://blog.csdn.net/pongba/article/details/7911997过去的一年我在微软亚洲研究院做输入法,我们的产品叫“英库拼音输入法” (下载Beta版),如果你用过“英库词典”(现已更名为必应词典),应该知道“英库”这个名字(实际上我们的核心开发团队也有很大一部分来源于英库团队的老成员)。整个项目是微软亚洲研究院的自然语言处理组、互联网搜索与挖转载 2015-06-01 11:19:24 · 633 阅读 · 0 评论 -
泛型编程:源起、实现与意义
http://blog.csdn.net/pongba/article/details/2544894泛型编程:源起、实现与意义 By 刘未鹏C++的罗浮宫(http://blog.csdn.net/pongba)(去年12月《程序员》的约稿)(以前也写过一篇相关的文章:Generic Programming - What Are You, anyway? )转载 2015-06-01 11:03:45 · 404 阅读 · 0 评论 -
templates — C++模板的应用<奇特的递归模板模式>
http://www.verydemo.com/demo_c128_i6615.html奇特的递归模板模式(CRTP)这个奇特的名字代表了类实现技术中一种通用的模式,即派生类将本身作为模板参数传递给基类;CRTP的一个简单的应用是记录某个类的对象构造的总个数。数对象个数很简单,只需引入一个整数类型的静态数据成分,分别在构造与析构中进行递增与递减操作,不过,要在每个类中都这么写非常繁琐,转载 2015-02-04 11:22:25 · 996 阅读 · 0 评论 -
linux内存屏障浅析
http://linux.chinaitlab.com/soft/880163.html内存屏障是一个很神奇的东西,之前翻译了linux内核文档memory-barriers.txt,对内存屏障有了一定有理解。现在用自己的方式来整理一下。 在我看来,内存屏障主要解决了两个问题:单处理器下的乱序问题和多处理器下的内存同步问题。 为什么会乱序 现在转载 2013-01-10 13:47:32 · 355 阅读 · 0 评论 -
C/C++ -- 编程中的内存屏障(Memory Barriers)
http://blog.csdn.net/gugemichael/article/details/8207519http://blog.csdn.net/gugemichael/article/details/8237891C/C++ -- 编程中的内存屏障(Memory Barriers) (1)分类: C/C++ 代码技巧2012-11-21转载 2013-01-10 12:02:49 · 4780 阅读 · 0 评论 -
Smart Pointers to boost your code
http://www.codeproject.com/Articles/8394/Smart-Pointers-to-boost-your-codeContentsSmart Pointers can greatly simplify C++ development. Chiefly, they provide automatic memory management close t转载 2013-01-24 11:24:34 · 517 阅读 · 0 评论 -
《垃圾收集》笔记——第二章
http://blog.csdn.net/javangin/article/details/70941203种经典算法:引用计数(reference counting)、标记-清扫(mark-sweep)和节点复制(copying)。2.1 引用计数算法是一种直接算法,其基本手段是为每个单元计算指向它的引用(来自其他活动单元或者根)的数量。优点在于能够非常简单地判断单元转载 2013-01-09 14:30:37 · 248 阅读 · 0 评论 -
一次stl sort调用导致的进程崩溃(zz)
http://blog.sina.com.cn/s/blog_532f6e8f01014c7y.html 近期我们开发的一个工具在调用c++ sort函数对数组进行排序时居然会导致进程崩溃,此问题细节我觉得对于类似我这种不常用stl的同学可能不容易觉察,这里简单总结下。出错代码因为代码太复杂不好展示,我这里就用下面这个简单的示例来描述。sort调用导致的进程崩转载 2013-01-04 17:22:40 · 936 阅读 · 0 评论 -
SGI STL 学习笔记三 heap
http://www.cnblogs.com/studentdeng/archive/2011/01/08/1930950.htmlheap,大家都非常了解。大学学的时候必须会的内容,要不考试很难过关。只是当时并没有学习明白。只是被老师和考试强了。完全是机械的记忆。觉得真是太对不起自己这个专业了。最近再看STL,也就有了这一篇老生重弹。在很多情况下,我们非常关心一个转载 2012-12-20 16:31:46 · 473 阅读 · 0 评论 -
STL-sort()源码剖析
http://blog.csdn.net/imakaka/article/details/7369828注:侯捷 -《STL源码剖析》学习总结及心得。STL的sort()算法,数据量大时采用Quick Sort,分段递归排序,一旦分段后的数据量小于某个门槛,为避免Quick Sort的递归调用带来过大的额外负荷,就改用Insertion Sort。如果递归层次过深,还会转载 2013-01-04 17:05:04 · 504 阅读 · 0 评论 -
effective STL STL的内存适配器
http://blog.csdn.net/bichenggui/article/details/4578123分配器是怪异的。它们最初是为抽象内存模型而开发的,允许库开发者忽略在某些16位操作系统上near和far指针的区别(即,DOS和它的有害产物),但努力失败了。分配器也被设计成促进全功能内存管理器的发展,但事实表明那种方法在STL的一些部分会导致效率损失。为了避免效率转载 2012-12-19 17:52:36 · 273 阅读 · 0 评论 -
placement new
http://blog.163.com/bbluesnow@126/blog/static/2778454520126191724214/前段时间听说new的在位分配,也不知道这个“在”写得对不对。今天翻看网页突然找到了placement new的相关文章,认真读了下,并验证了这些代码。,终于明白在位分配是怎么一回事,具体怎么用。四篇文章如下:new(placeme转载 2012-12-18 15:12:01 · 443 阅读 · 0 评论 -
C++中的 new / delete
/*****************************************************************************//* C++中的 new / delete *//***************************************转载 2012-12-18 14:36:35 · 265 阅读 · 0 评论 -
Linux下,多线程程序死循环问题调试
http://www.cppblog.com/elva/archive/2010/08/02/121943.html当你的软件在某个时刻停止服务,CPU占用达到100%+,这种问题一个可能的原因是产生了死循环,假设程序某处存在潜在的死循环,并在某种条件下会引发,本文以一个示例来定位出现死循环的位置。当程序某处存在死循环,通常定位问题及缩小范围的方法是,在可疑的代码处加log,或者注转载 2015-08-27 16:57:48 · 995 阅读 · 0 评论