c++
文章平均质量分 66
xfnjlove
这个作者很懒,什么都没留下…
展开
-
标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast和const_cast(转)
C 风格(C-style)强制转型如下:(T) exdivssion // cast exdivssion to be of type T函数风格(Function-style)强制转型使用这样的语法:T(exdivssion) // cast exdivssion to be of type T 这两种形式之间没有本质上的不同,它纯粹就是一个把括号放在哪的转载 2014-02-10 13:44:19 · 503 阅读 · 0 评论 -
iOS和android游戏纹理优化和内存优化(cocos2d-x)
1、2d游戏最占内存的无疑是图片资源。2、cocos2d-x不同平台读取纹理的机制不同。ios下面使用CGImage,android和windows下是直接调用png库。我测试了下,使用png库直接读取png会比CGImage还要节约1mb左右内存(图片所占内存4mb)但是速度要比CGImage慢一倍。时间和空间如何取舍就看实际情况了。不过最佳的选择似乎是pvr(即使android版本,即转载 2014-09-10 15:19:23 · 572 阅读 · 0 评论 -
如何优化Cocos2d-X游戏的内存
在游戏项目优化中都会碰到一个问题,如何既能减少内存又能尽量减少包的大小?在实际项目中有些经验分享一下,事实上2D游戏中最占内存的就是图片资源,一张图片使用不同的纹理格式带来的性能差异巨大,下表是我在IOS平台一个小Demo中的测试结果,该Demo的原始内存占用是7M,测试方法是一次性加载5张2048*2048的图片,使用TexturePacker工具生成图片,内存统计使用Instrument工具,转载 2014-09-10 14:34:31 · 378 阅读 · 0 评论 -
字符c是否为字母或数字
isalnum(int c);功能:判断字符c是否为字母或数字那么 key=bioskey(0); if(isalnum(key & 0xff)){是什么意思?可不可以解说一下?首先这里的变量key应该是int类型的,在32位机上int型有4个字节,需要判断的字符为一个字节。key & 0xff的目的是把key代表的值的高位清0,即使前3个字节清0,保留最后一个转载 2014-04-17 16:34:02 · 682 阅读 · 0 评论 -
Sizeof与Strlen的区别与联系
1.sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned int类型。该类型保证能容纳实现所建立的最大对象的字节大小。 2.sizeof是算符,strlen是函数。 3.sizeof可以用类型做参数,strlen只能用char*做参数,且必须是以''\0''结尾的。sizeof还可以用函数做参数,比如: short f();printf("%d\转载 2014-04-17 16:26:04 · 427 阅读 · 0 评论 -
C++ Vector用法
vector类为内置数组提供了一种替代表示,与string类一样 vector 类是随标准 C++引入的标准库的一部分 ,为了使用vector 我们必须包含相关的头文件 :#include 使用vector有两种不同的形式,即所谓的数组习惯和 STL习惯。一、数组习惯用法1. 定义一个已知长度的 vector :vector ivec( 10 ); //类似数组定义int转载 2014-02-14 15:30:20 · 548 阅读 · 0 评论 -
C++ map用法
Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可以起到事半功倍的效果,总结了一些map基本简单实用的操作!1. map最基本的构造函数; mapmapstring; mapmapint; mapmapstring; mapmapchar; mapmapchar; mapmapint转载 2014-02-14 15:46:10 · 588 阅读 · 0 评论 -
c++中 extern用法
用例子示范 // 1.cpp int x = 10; // 2.cpp 注意没有包含1.cpp #include using namespace std; extern int x;int main () { cout << x << endl; } //则输出10 两个文件同在一个项目(project)中,你不包含某个文件(cpp)而可以用它内部定义的变量,(里是.pp不是转载 2014-02-11 14:44:46 · 531 阅读 · 0 评论 -
函数memcpy,strcpy用法
memcpy原型:extern void *memcpy(void *dest, void *src, unsigned int count); 用法:#include string.h> 功能:由src所指内存区域复制count个字节到dest所指内存区域。 说明:src和dest所指内存区域不能重叠,函数返回指向dest的指针。 举例: /原创 2014-02-14 15:10:45 · 491 阅读 · 0 评论 -
CC_DLL是干什么用的
在cocos2d-x中它是一个宏1 #if defined(_USRDLL)2 #define CC_DLL __declspec(dllexport)3 #else /* use a DLL library */4 #define CC_DLL __declspec(dllimport)5 #endif所以其用于声明导入转载 2014-02-12 15:54:08 · 1298 阅读 · 0 评论 -
C++ typedef用法小结
用途一:定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如:char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针, // 和一个字符变量;以下则可行:typedef char* PCHAR; // 一般用大写PCHAR pa, pb; // 可行,同时声明了两个指向字符变量的指针虽然:char *p转载 2014-02-12 15:21:16 · 538 阅读 · 0 评论 -
关于NULL在C和C++中的区别
这个问题源自对'\0',0,以及NULL的探究!先看看标题所提到的内容:根据https://research.microsoft.com/en-us/um/redmond/projects/invisible/include/__defs.h.htm文档中的定义:#if !defined(NULL) && defined(__NEEDS_NULL)#ifdef __cplusp转载 2014-02-10 13:50:45 · 548 阅读 · 0 评论 -
C/C++中利用空指针(NULL),提高程序运行效率
//程序作者:管宁 //站点:www.cndev-lab.com //所有稿件均有版权,如要转载,请务必著名出处和作者 #include iostream> #include string> using namespace std; void print_char(char* array[]);//函数原形声明 void main(void) { c转载 2014-02-10 13:48:38 · 578 阅读 · 0 评论 -
cocos2dx 使用Luajit将Lua脚本编译为bytecode,从而实现加密
项目要求对lua脚本进行加密,查了一下相关的资料 ,得知lua本身可以使用luac将脚本编译为字节码(bytecode)从而实现加密,试了一下,确实可行。下面是使用原生的lua解释器编译字节码:1、新建一个名为1.lua的文件,里面只有一句话print("Hello Lua"),新建一个空的out.lua脚本文件2、开始--运行--cmd3、luac -o out.lua 1.lu转载 2014-11-13 18:33:39 · 942 阅读 · 0 评论