自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zhenghang的专栏

记录小菜鸟的点滴成长

  • 博客(11)
  • 收藏
  • 关注

原创 pthread_exit导致的内存泄露问题。

这两天遇到一个内存泄露问题,查了半天没查出来,最终通过比对测试发现问题所在,就是pthread_exit不能放在线程调用的函数里面,否则会导致资源释放不掉,如果一定要放在线程调用的函数里面,则在调用函数里面加个局部作用域,保证自然释放。附上在stackoverflow上的提问,以备以后查用:http://stackoverflow.com/questions/17369442/memory

2013-07-02 11:44:13 2085 1

原创 可变参数

以前一直好奇可变参数究竟是如何实现的,怎么传了几个...就能解析出真实需要的东西 呢,刚好项目有个场合需要用到这个东西,就了解了下可变参数的实现,同时感谢加俊的指导。其实可变参数主要依赖几个重要的api,外表看起来很神奇,但其实有了API,就是很简单的事情。主要有如下几个API:va_startva_argva_end有了这三个API以后,就能编写简单的可变参数函数啦,先贴

2013-01-23 20:10:47 504

原创 求值顺序

前两天无聊做了几道网上的C++语言题,发现有一些未定义行为被用来出题,觉得真是误人子弟,但同时也确实怪自己基础不扎实,为此特意回炉学习下c++ lauuagehttp://en.cppreference.com/w/cpp/language/eval_order优先级,结合性,求值顺序。这三个概念咋一看不容易搞清楚,其实他们侧重不同的方面,结合性相对容易理解一点,优先级跟求值顺序则

2013-01-23 19:43:20 452

原创 关于临时变量

char *GetMemory(void){    char p[] = "hello world";    return p;}这里 返回的是p这个临时对象的地址,所以外面调用的时候,会取不到想要的值。char *GetMemory(void){    char * p = "hello world";    return p;}这里返回的是"he

2013-01-23 19:34:51 491

原创 dynamic_cast使用前提是打开rtti选项。

RTTI(Run-Time Type Identification)dynamic_cast前提是编译时必须开rtti选项,可以通过-qrtti,之前由于没注意编译选项导致程序出问题,特此备忘。使用到rtti的主要是两个运算符,typeid,dynamic_cast,若是开了rtti,则会影响性能,所以并非在毕不得已的时候,还是避免使用。

2012-04-25 16:36:50 1175

原创 const 的理解

程序没事多加const,定义一个变量首先考虑的就是先给它加上const ,如果确实不适合用const 则再将它删除,在观看别人代码的时候,看到函数参数为const 类型,则对这个变量很放心,理解程序也有帮助。 ---by My dear 姜老师--------const是一个C语言的关键字,它限定一个变量不允许被改变。使用const在一定程度上可以提高程序的安全性和可靠性,另外,在观看别人

2011-11-14 11:06:03 396

原创 不迷信编译器

c/c++代码可以编译运行通过并不意味正确.c/c++中未定义行为、未指定行为、实现定义行为太多,所以仅仅通过编译器是否能够编译运行来判断一个程序的对错,这是非常片面。面对未定义行为,编译器的编译结果往往是不可靠得,甚至是带有误导性的。改变依靠编译器的编译运行结果来判断程序对错的习惯,走出对编译器的迷信,是一个不小的进步。

2011-11-11 15:07:39 426 2

转载 The try, catch, and throw Statements

写代码的时候多抛异常能使我们的代码更容易暴露出问题,当把这些异常都解决掉的时候,我们的代码就会很健壮 ---姜老师以前写代码很少会去主动抛异常,主要是对抛异常的机制不了解,特意从msdn上找了篇文章学习了下,其中有句话令我非常受用The operand of throw is syntactically similar to the operand of areturn stateme

2011-10-28 16:20:33 501

转载 Lua脚本语法说明(修订)

因为项目中需要用到lua相关的东西,所以找了篇文章学习了下。以下zz from http://www.cnblogs.com/ly4cn/archive/2006/08/04/467550.htmlLua脚本语法说明(增加lua5.1部份特性)  Lua 的语法比

2011-10-18 14:02:08 363

原创 声明与定义

我们在程序设计中,时时刻刻都用到变量的定义和变量的声明,可有些时候我们对这个概念不是很清楚,知道它是怎么用,但却不知是怎么一会事,下面我就简单的把他们的区别介绍如下:    变量的声明有两种情况:    (1) 一种是需要建立存储空间的(定义、声明)。例如:int a

2011-10-17 11:18:35 1014

原创 字符编码与字符集

一直对这两个概念心存模糊,时不时的看些资料又容易忘记,特根据查阅的一些资料,写下自己的理解,整理一下思路,作为笔记,便于自己以后的温习。--------------------------在计算机的世界里,永远只有0或1,不存在"abc"这样的东西,所以我们常用的

2011-10-13 09:46:52 337

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除