C++知识
文章平均质量分 77
woshichengchaoa
这个作者很懒,什么都没留下…
展开
-
C++类成员初始化
有些成员变量的数据类型比较特别,它们的初始化方式也和普通数据类型的成员变量有所不同。这些特殊的类型的成员变量包括:a.引用b.常量c.静态d.静态常量(整型)e.静态常量(非整型) 常量和引用,必须通过参数列表进行初始化。 静态成员变量的初始化也颇有点特别,是在类外初始化且不能再带有static关键字,其本质见文末。参考下面的代码以及其中注释:#in转载 2013-12-13 18:29:43 · 421 阅读 · 0 评论 -
C++中的继承与虚函数各种概念
http://blog.sina.cn/dpool/blog/s/blog_6c7e113d01015yt1.html转载 2015-03-10 12:48:52 · 322 阅读 · 0 评论 -
STL常用容器及其常用函数总结(避免记混了SB)
1、vector初始化:vector v;vector v;原创 2014-06-13 22:19:57 · 500 阅读 · 0 评论 -
STL中HashTable HashMap HashSet Set Map MultiSet MultiMap总结
1.hashtablehash_set、hash_map、hash_multiset、hash_multimap四个关联容器都是以hashtable为底层实现方法(技巧)。应该说,上述的四个关联式容器提供的api都是对hashtable原生态api的高层封装,因为hashtable本身都提供了它们所需要的基础api。原创 2014-04-11 10:28:16 · 947 阅读 · 0 评论 -
什么是可重入函数和不可重入函数(转)
可重入函数 在 实时系统的设计中,经常会出现多个任务调用同一个函数的情况。如果这个函数不幸被设计成为不可重入的函数的话,那么不同任务调用这个函数时可能修改其他任 务调用这个函数的数据,从而导致不可预料的后果。那么什么是可重入函数呢?所谓可重入是指一个可以被多个任务调用的过程,任务在调用时不必担心数据是否会 出错。不可重入函数在实时系统设计中被视为不安全函数。转载 2014-02-20 15:02:42 · 552 阅读 · 0 评论 -
exit与_exit区别
注:exit()就是退出,传入的参数是程序退出时的状态码,0表示正常退出,其他表示非正常退出,一般都用-1或者1,标准C里有EXIT_SUCCESS和EXIT_FAILURE两个宏,用exit(EXIT_SUCCESS);可读性比较好一点。作为系统调用而言,_exit和exit是一对孪生兄弟,它们究竟相似到什么程度,我们可以从Linux的源码中找到答案:#def转载 2014-02-16 23:41:44 · 540 阅读 · 0 评论 -
僵尸进程处理
1 什么是僵尸进程:当子进程比父进程先结束,而父进程又没有回收子进程,释放子进程占用的资源,此时子进程将成为一个僵尸进程。如果父进程先退出,子进程被init接管,子进程退出后init会回收其占用的相关资源。2 怎样来清除僵尸进程: 1.改写父进程,在子进程死后要为它收尸。具体做法是接管SIGCHLD信号。子进程死后,会发送SIGCHLD信号给父进程,转载 2014-02-16 23:29:02 · 593 阅读 · 0 评论 -
文件读写之I/O缓冲与阻塞
缓冲I/O和非缓冲I/O文件读写主要牵涉到了如下五个操作:打开、关闭、读、写、定位。在Linux系统中,提供了两套API,一套是C标准API:fopen、fclose、fread、fwrite、fseek,另一套则是POSIX定义的系统API:open、close、read、write、seek。其中POSIX定义的API是系统API,而C标准API是基于系统API的封装,并且提供转载 2014-02-15 22:30:22 · 3697 阅读 · 0 评论 -
常用排序算法
1、插入排序:假设数组A[0,...,n-1],A[0,...,p]按照从小到大的顺序排序完毕,将A[p+1,...,n-1]中元素一次与之前元素比较,并插入至相应位置,算法复杂度为n^2(符号省略,下同)void INSERT_SORT(int *A,int len){for(int i=1;i { int key=A[i]; int j=i-1;原创 2013-04-08 11:02:18 · 609 阅读 · 0 评论 -
posix 与 ansi c
ANSI C:这一标准是 ANSI(美国国家标准局)于 1989 年制定的 C 语言标准。 后来被 ISO(国际标准化组织)接受为标准,因此也称为 ISO C。ANSI C 的目标是为各种操作系统上的 C 程序提供可移植性保证,而不仅仅限于 UNIX。 该标准不仅定义了 C 编程语言的语发和语义,而且还定义了一个标准库。这个库可以根据 头文件划分为 15 个部分,其中包括:字符类型 ()、错误转载 2013-12-26 23:17:40 · 505 阅读 · 0 评论 -
关于C++中enum的探讨
如果一个变量你需要几种可能存在的值,那么就可以被定义成为枚举类型。之所以叫枚举就是说将变量或者叫对象可能存在的情况也可以说是可能的值一一例举出来。举个例子来说明一吧,为了让大家更明白一点,比如一个铅笔盒中有一支笔,但在没有打开之前你并不知道它是什么笔,可能是铅笔也可能是钢笔,这里有两种可能,那么你就可以定义一个枚举类型来表示它!enum box{pencil,pen};//这里你就转载 2013-12-21 17:17:00 · 336 阅读 · 0 评论 -
const #define区别
const const 是c++中的修饰符。 c++中常用来定义常量,修饰左值。#define 宏定义语句, 在预处理阶段直接做文本替换,不做类型检查。它们之间的最大区别:1. 对于const 变量,系统只给了一个相应的内存地址,而#define则是给出了一个立即数。因为const变量是存放在内存的静态区域中,所以在程序运行过程转载 2013-12-21 17:15:56 · 344 阅读 · 0 评论 -
C++类静态成员与类静态成员函数
当将类的某个数据成员声明为static时,该静态数据成员只能被定义一次,而且要被同类的所有对象共享。各个对象都拥有类中每一个普通数据成员的副本,但静态数据成员只有一个实例存在,与定义了多少类对象无关。静态方法就是与该类相关的,是类的一种行为,而不是与该类的实例对象相关。 静态数据成员的用途之一是统计有多少个对象实际存在。 静态数据成员不能在类中初始化,实际上类定义只是在描述对象的蓝转载 2013-12-13 18:55:25 · 411 阅读 · 0 评论 -
C++绑定到Lua
http://cn.cocos2d-x.org/tutorial/show?id=1295转载 2015-03-11 19:11:34 · 409 阅读 · 0 评论