c/c++
文章平均质量分 58
小强哥w
致力于成为一名游戏开发全栈工程师,未来的游戏架构师
展开
-
写死循环的几种青年
普通青年:for(;;);文艺青年while(1){} 普通文艺青年do{}while(1);二逼文艺青年for(int i = 0; i < 1; i++,i--){i = 0;}原创 2011-11-11 17:04:57 · 903 阅读 · 0 评论 -
linux下的C语言共享库和静态库的创建和使用
Linux函数库分类: 1) 静态库 a) 定义 静态库就是一些.o目标文件的集合,以.a结尾。静态库在程序链接的时候使用, 链接器会将程序中使用到函数的代码从库文件中拷贝到可执行文件中。一旦链接完成,在执行程序的时候就不需要静态库了。由于每个使用静态库的应用程序都需要拷贝所用函数的代码,所以生成的可执行文件会比较大。 b) 创建和应用(原创 2012-03-05 22:43:12 · 939 阅读 · 1 评论 -
C++中引用和指针的一些区别
引用是C++里增加的一个特性,其实只需要把它理解成为一个特殊的指针即可,再说白了一点,就是引用实际上放的是内存地址,指针和引用的主要区别有:1.在声明一个引用时,必须对其进行初始化,而指针则没有这个规则,它可以在任何时候初始化,这个比较好理解,在这不多说了.int *a;int &b = a; //编译器会报错//再来看下面这个int a;int *b = &a;int &c原创 2012-04-13 23:45:52 · 363 阅读 · 0 评论 -
C/C++的一些编程规范(高质量C++编程笔记)
1.逻辑上不相关的代码有空格2.每一行后面加注释3.一行代码只做一件事4.语句块一定要加{},避免代码混乱5.关键字后加空格6.函数名后不加空格7.尽量声明后便定义8.时刻注意分行9.注释要得体,函数上面加上一个函数介绍,输入参数,输出参数,返回值的注释块10.windows命名采用大小写,unix风格是采用下划线11.不要出现以大小写来区分的函数名字,变量原创 2012-05-25 17:08:10 · 505 阅读 · 0 评论 -
关于explicit,转帖
按照默认规定,只有一个参数的构造函数也定义了一个隐式转换,将该构造函数对应数据类型的数据转换为该类对象,如下面所示:class String {String ( const char* p ); // 用C风格的字符串p作为初始化值//…}String s1 = “hello”; //OK 隐式转换,等价于String s1 = String(“hello”); 但是有转载 2012-05-25 18:31:06 · 349 阅读 · 0 评论 -
C++中使用Json格式作为http的response返回值
整个的流程大体是:client发送http的get请求,并且调用server的一个cgi程序,cgi程序处理完成后需要将返回值以json的格式给client.在c++里有一个用于处理json的库,叫做jsoncpp,可以在网上找到下载。使用的时候也很方便Json::Value json_ret;Json_ret["name"] = Json::Value("shark")Json_原创 2012-09-03 17:42:06 · 3529 阅读 · 0 评论 -
动态库中组装静态库
静态库其实就是很多个目标文件组成在一起,所以在共享库中连接静态库在理论上就是支持的,但是如果在编译共享库的时候直接把静态库放进去又会报错,让添加-fPIC参数。注意:这个fPIC不仅仅只是这一次加,而是要将编译的所有.O文件都加上这个参数才可以。原创 2012-10-21 21:38:38 · 333 阅读 · 0 评论 -
【转】mysql库中各个参数说明
MYSQL这个结构表示对一个数据库连接的句柄,它被用于几乎所有的MySQL 函数。MYSQL_RES这个结构代表返回行的一个查询的(SELECT , SHOW , DESCRIBE , EXPLAIN )的结果。从查询返回的信息在本章下文称为结果集合 。MYSQL_ROW这是一个行数据的类型安全(type-safe)的表示。当前它实现为一个计数字节的字符串数组。(如果字段值可能包含二进制数据,你不转载 2012-11-21 00:01:30 · 497 阅读 · 0 评论