C/C++
文章平均质量分 58
rangf
这个作者很懒,什么都没留下…
展开
-
C++ STL的常见用法
Lists将元素按顺序储存在链表中. 与 向量(vectors)相比, 它允许快速的插入和删除,但是随机访问却比较慢.assign() 给list赋值 back() 返回最后一个元素 begin() 返回指向第一个元素的迭代器 clear() 删除所有元素 empty() 如果list是空的则返回true end() 返回末尾的迭代器 erase() 删除一个元素原创 2015-09-26 18:54:10 · 3600 阅读 · 0 评论 -
c语言中字符串操作常见错误及调试方法
1,字符串中预期的“\0”结束符位置不对,待整理2,字符串结尾中包含"\n"字符,用printf打印字符串,在打印格式后边添加一个字符看看字符串结尾是否包含回车3,字符数组的index忘记减1,用眼力仔细看了原创 2013-06-06 11:18:20 · 1994 阅读 · 0 评论 -
Linux C函数库参考手册
htm版本:http://man.chinaunix.net/develop/c&c++/linux_c/default.htmhttp://blog.chinaunix.net/uid-20785773-id-495082.htmlLinux C函数库参考手册第1章字符测试函数isalnum(测试字符是否为英文字母或数字)isalpha(测试字符是否为英文转载 2013-05-13 17:25:19 · 1660 阅读 · 0 评论 -
十六进制转换为十进制
用C语言编写函数htoi(s),把由十六进制组成的字符串(包含可选的前缀0x或0X)转换为与之等价的整型值:int htoi(const char *s){ if( !s )return 0; if( *s == '0' ) { s++; if( *s == 'x' || *s == 'X' )s++;转载 2013-05-13 17:36:01 · 1067 阅读 · 0 评论 -
const & define
一个函数的形参为指向常量的指针,比如:const int*,给它传递int*的参数,编译是可以通过的,不需强制转换。如果是const int**的参数,给它传递int**的参数,则编译不能通过,需要进行强制转换。why? 例如:void fun1(const int* a) {return;}void fun2(const int** a) {return;}int mai转载 2013-04-01 18:04:03 · 755 阅读 · 0 评论 -
temp file
const 问题数组名当指针传递问题。指针数组赋值前需要赋值吗?strcpy的时候出错的原因?strcmp产生段错误的原因?原创 2013-02-01 18:00:46 · 555 阅读 · 0 评论 -
temp存储
2011-12-19:1.实现了IPP3编译器的TLS的4种模式:Global Dynamic, Local Dynamic, Initial Exec和Local Exec。2.clang支持-fpic/-fPIC选项3.clang不支持如下编译属性: __attribute__((tls_model("global-dynamic")))、 __attr原创 2011-09-16 15:36:42 · 2219 阅读 · 0 评论 -
linux与windows间socket通信实例
linux端:#include #include #include #include #include #include #include #include #define MYPORT 3333#define BACKLOG 10main(){ int sockfd, new_fd; struct sockaddr_in my_addr; struct socka原创 2012-12-18 18:42:02 · 11738 阅读 · 2 评论 -
c++中exit符号找不到
请参考:http://www.gamedev.net/topic/475709-error-c3861-exit-identifier-not-found/question:No clue, it seems very wrong that exit would not work, but what do I know? I'm new to this. Here's the转载 2012-12-18 18:36:03 · 2377 阅读 · 0 评论 -
vc++2005运行出现Loaded 'xxx.dll', No symbols loaded.
运行错误是:4-20 console.exe': Loaded 'F:\文档\Visual Studio 2005\Projects\4-20 console\release\4-20 console.exe', Symbols loaded.'4-20 console.exe': Loaded 'C:\Windows\System32\ntdll.dll', No symbols l转载 2012-12-18 18:38:21 · 5371 阅读 · 0 评论 -
printf
http://blog.csdn.net/tianshuai11/article/details/7782570http://zhidao.baidu.com/question/473114881.htmlhttp://blog.csdn.net/chenjin_zhong/article/details/6081518http://bbs.csdn.net/topics/32转载 2012-11-20 18:19:24 · 674 阅读 · 0 评论 -
函数名与数组名
推测:函数名作函数参数时彻底演变成指针!参考:http://bbs.csdn.net/topics/210062944http://blog.csdn.net/goodlixueyong/article/details/6122356http://www.cnblogs.com/ymy124/archive/2012/03/05/2380048.html原创 2012-11-19 18:02:29 · 2034 阅读 · 0 评论 -
sizeof在C与C++中对字符常量的区别
In C :#include int main(){char a = 'a';printf("Size of char : %d\n",sizeof(a));printf("Size of char : %d\n",sizeof('a'));return 0;}Output :Size of char : 1Size of char : 4In C++原创 2012-11-19 13:54:39 · 2452 阅读 · 0 评论 -
数组和链表的关系
数组是将元素在内存中连续存放,由于每个元素占用内存相同,可以通过下标迅速访问数组中任何元素。但是如果要在数组中增加一个元素,需要移动大量元素,在内存中空出一个元素的空间,然后将要增加的元素放在其中。同样的道理,如果想删除一个元素,同样需要移动大量元素去填掉被移动的元素。如果应用需要快速访问数据,很少或不插入和删除元素,就应该用数组。链表恰好相反,链表中的元素在内存中不是顺序存储的,而是转载 2012-11-14 17:43:00 · 1138 阅读 · 0 评论 -
.成员操作符 与 ->指向成员操作符
c语言 .成员操作符 ->指向成员操作符这两个有什么不一样?->对指针使用,包含了先*再.的操作struct A{int x;};struct A a, *pa;a.x=0;pa->x=0;*pa.x=0;//这里错了,应该是(*pa).x=0一样原创 2010-10-13 14:44:00 · 633 阅读 · 0 评论 -
C/C++code知识点
求数组长度:sizeof(a)/sizeof(a[0])判断数字的位数:int cun(int n){ n=abs(n); // 加上这一句话,可以判断负数了 if(n<10) return 1; return cun(n%10)+1;}10的n次方:#include int n = 5;double x = po原创 2012-06-08 18:36:29 · 676 阅读 · 0 评论 -
do{}while(0)在宏定义中的作用
如下:#define id_error_process(id,ret) do{STF_print("the id ( %s ) is error\n",(id));ret = STF_ERROR;}while(0)自然会想:为什么不直接用{}定义而要用个do{}while(0)是不是多此一举了呢?当然不是。do{}while(0)的作用就是:在使用宏时后边需要紧跟一个分号。因为do原创 2012-05-08 11:37:47 · 661 阅读 · 0 评论 -
数据结构
本文主要记录如下4个要点:1,union的特性2,位域3,指针的++运算4,后++的优先级5,查看机器大小端模式一&二#define registerAddress (0x77800058)typedef union {int whole;struct {int ain0sel :2;int :6;int a原创 2013-06-21 16:41:59 · 720 阅读 · 0 评论 -
3D手机游戏引擎
一,寒霜2引擎(Frostbite 2 Engine)【但手机上貌似不支持】二,虚幻3引擎(Unreal Engine 3)【没用过】三,unity 引擎【本人使用过】以上3D引擎我推测应该都是基于OpenGL ES2.0图形库支持嵌入式设备。2D手机游戏引擎一,cocos2d-xCocos2d-x是一个开源的移动2D游戏框架。使用 C++ 开发,基于Ope原创 2013-08-23 18:30:39 · 1183 阅读 · 0 评论 -
socket是什么
Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发 TCP/IP网络上的应用程序。请参阅以下资料:socket非常类似于电话插座。以一个国家级电话网为例。电话的通话双方相当于相互通信的2个进程,区号是它的网络地址;区内一个单位的交换机相当于一台主机,主机分配给每个用户的局内号码相当于socket号。任何用户在通话之前,首先要占有一部原创 2015-09-26 15:29:36 · 2501 阅读 · 0 评论 -
截取字符串中特定字符之前的子串,并返回剩余子串
char * GetStringBefore(char* inputData, char c, char *buf, int buflen){char *p = strchr(inputData,c);if( !p )return p;int len = (p-inputData) > buflen-1 ? buflen-1 : p-inputData;if( len >原创 2015-07-16 14:28:22 · 4706 阅读 · 0 评论 -
散乱学习资料
在类定义中添加一个指向自己的静态指针变量相当于建立了一个该类的全局指针变量,只是封装到类中了而已。数据库连接池原理:连接池基本的思想是在系统初始化的时候,将数据库连接作为对象存储在内存中,当用户需要访问数据库时,并非建立一个新的连接,而是从连接池中取出一个已建立的空闲连接对象。使用完毕后,用户也并非将连接关闭,而是将连接放回连接池中,以供下一个请求访问使用。而连接的建立、断开都原创 2015-05-25 18:53:18 · 2092 阅读 · 0 评论 -
排序算法学习系列(一)
插入排序冒泡排序选择排序快速排序堆排序归并排序基数排序希尔排序原创 2015-03-08 01:12:31 · 2058 阅读 · 0 评论 -
C++中的类型分类
C++中,什么是复合类型?刚开始,还以为自定义的类是复合类型。查了C++ primer才知道复合类型不是类,在p51页定义为:用其它类型定义的类型。个人理解为:不是基本类型和用户自定义类型。在C++中类型大致可以分为三种:一、内置类型 如int, char, float, bool, void等。内置类型是最基本的类型。二、复合类型 复合类型:用原创 2015-03-07 14:05:14 · 3296 阅读 · 0 评论 -
C++默认构造函数
C++ primer中的三个地方讲解了默认构造函数:P44变量初始化规则P227函数(构造函数)P388类(构造函数初始化式)一, 变量初始化规则(P44和P227)1,对于类类型的成员,调用该成员所属类自身的默认构造函数实现初始化。2,内置类型成员的初值依赖于对象定义的位置,如果对象在全局作用域中定义(既不在任何函数中)或定义为静态局部对象,则这些成员将被初始化为原创 2015-03-07 19:09:15 · 3493 阅读 · 0 评论 -
数据结构学习系列(一)
链表(单链表、双链表)堆栈队列树(二叉树、红黑树)原创 2015-03-08 01:10:15 · 2043 阅读 · 0 评论 -
C++对象模型学习系列(一)
待完成。。。原创 2015-03-08 01:06:23 · 2131 阅读 · 0 评论 -
const 与 #define的区别
由于笔试面试中常常被问及这两者之间的区别,在此作一个简单的总结和扩充。在C语言中:#define用来定义宏,用宏来代替常量(包括无参量、有参量);typedef用来为类型标示符定义别名,以便增加可读性;到了C++中:const、enum、inline、引用也都成为了定义别名的工具。其中#define与const的区别主要如下:在C++中不推荐用宏,尽量少原创 2015-03-07 11:36:18 · 2335 阅读 · 0 评论 -
构造函数、拷贝构造函数、赋值操作符、析构函数、debug与release
1,都是函数2,拷贝构造函数是一种特殊的构造函数,所以只有当对象不存在或没有被创建时才能执行拷贝构造函数3,什么时候会调用拷贝构造函数?以下三种情况出现时,会调用一个类的拷贝构造函数: 1) 用一个已经实例化了的该类对象,去实例化该类的另外一个对象; 2) 用该类的对象传值的方式作为一个函数的参数; 3) 一个函数返回值为该类的一个对象。D翻译 2015-03-15 23:30:46 · 2311 阅读 · 0 评论 -
IT工具介绍
俗话说:工欲善其事必先利器.作为一个软件开发工程师,要一辈子与软件开发打交道,当然首要的事就是利器:工具,语言.在工具方面,以下是对自己接触到的工具作一个总结:Windows:1, MS Visual Studio2, SourceInsight3, Eclipse4, MySQL5, Beyond Comparen, ...Linux1,原创 2014-12-13 22:20:08 · 1545 阅读 · 0 评论 -
防止内存泄露
为了防止内存泄露,养成检测内存分配/释放是否成功的良好习惯:1,动态分配内存的时候检测是否分配成功,如果不成功请返回友好提示~2,释放内存的时候将释放后的内存指针指向NULL,以保证不能被访问~因为释放内存后,系统只是回收了指针所指的内存,此时指针是一个野指针本身仍是合法的,(只有有些类似void*的指针了),访问野指针程序当然出现异常~!例子1:malloc()和free原创 2014-12-26 10:54:46 · 1437 阅读 · 0 评论 -
C++默认参数
默认实参必须是函数参数表中最右边(尾部)的参数;调用具有两个或多个默认实参数的函数时,如果省略的不是参数表中最右边的参数,则该参数右边的所有参数也应省略;默认实参应在函数名第一次出现时指定,通常是在函数原型中。原创 2014-12-04 10:22:23 · 841 阅读 · 0 评论 -
指针和引用的区别
指针和引用的联系与区别 ★ 相同点:1. 都是地址的概念;指针指向一块内存,它的内容是所指内存的地址;引用是某块内存的别名。★ 区别:1. 指针是一个实体,而引用仅是个别名;2. 引用使用时无需解引用(*),指针需要解引用;3. 引用只能在定义时被初始化一次,之后不可变;指针可变;4. 引用没有 const,指针有 const;5. 引用不能为空,指针可以为空;6. “siz转载 2014-11-30 14:39:47 · 581 阅读 · 0 评论 -
堆” 和“自由存储区”的区别?“全局/静态存储区”和“常量存储区”的区别?
http://wenku.baidu.com/view/c02cc967f5335a8102d22001.html运行时环境:http://wenku.baidu.com/view/17c4ec1755270722192ef7c7.html http://pu原创 2011-04-06 23:56:00 · 6185 阅读 · 0 评论 -
sizeof 虚继承 内存布局
sizeof:http://baike.baidu.com/view/1078660.htmhttp://wenku.baidu.com/view/a6fc63ef0975f46527d3e169.html类对象的sizeof:(几个例子很有代表性!)http://blog.csdn.net/junglefly/article/details/4925073http://h转载 2012-04-18 13:42:19 · 1277 阅读 · 1 评论 -
Xcode compiler
Compiler Options in Xcode - GCC or LLVM? Chances are if you are using Xcode 3 and you haven’t played with the build settings for a project that you are still using the GNU Compiler Collection, GCC转载 2012-06-06 15:10:07 · 1608 阅读 · 0 评论 -
c++ STL 容器基础(一)
向量就像是盛放变长数组的花园,大约所有STL容器中有一半是基于向量的,如果你掌握了这个程序,你便差不多掌握了整个STL的一半了http://www.cppblog.com/yehongly/archive/2008/07/08/38224.html实例:http://www.cnblogs.com/yukaizhao/archive/2010/07/28/cpp-vector.ht转载 2012-04-19 17:27:15 · 446 阅读 · 0 评论 -
模板
函数参数会自动去掉引用比如:template void fun(_T a);无论任何时候,_T总是非引用类型。http://topic.csdn.net/u/20120418/23/60e91069-2830-451d-8f9d-3f009a45464d.htmlwapper技术:http://www.cnblogs.com/cutepig/archive/2009/0转载 2012-04-06 18:12:53 · 784 阅读 · 0 评论 -
break专题
<br />break用法:<br />1、break用于for、while、do-while、switch语句中。<br />2、break语句对if-else的条件语句不起作用。<br />3、在多层循环中, 一个break语句只向外跳一层。<br />4、通常break语句总是与if语句联在一起。 即满足条件时便跳出循环或选择。<br />eg:<br />for(int i=1; i<=100; i++){<br />if((i%7)==0){<br />break; //满足条件则跳出for循环<原创 2011-06-02 10:35:00 · 950 阅读 · 1 评论 -
tamarin源码下载地址
http://hg.mozilla.org/tamarin-central原创 2011-04-08 17:13:00 · 1120 阅读 · 0 评论