随笔分类 -  C 语言

摘要:中文乱码:方法一:选中有中文的那个cpp,点文件另存为,在保存这里竟然有个小箭头点之,再点编码保存再选这个编码这个cpp就UTF-8化了,然后中文就正常了。但是发现:但字符串字符数为奇数时,编译不过,同时针对个别汉字也不能编译通过。方法二:将需要的字符串保存于 strings.xml文件中:[html]view plaincopytitle是男人就坚持20秒new_game新游戏setting_game设置quit_game退出然后在代码中读取:CCDictionary *strings = CCDictionary::createWithContentsOfFile("fonts/ 阅读全文
posted @ 2013-07-06 07:47 朱颂东 阅读(409) 评论(0) 推荐(0)
摘要:C++类构造函数初始化列表构造函数初始化列表以一个冒号开始,接着是以逗号分隔的数据成员列表,每个数据成员后面跟一个放在括号中的初始化式。例如:classCExample{public:inta;floatb;//构造函数初始化列表CExample():a(0),b(8.8){}//构造函数内部赋值CExample(){a=0;b=8.8;}};上面的例子中两个构造函数的结果是一样的。上面的构造函数(使用初始化列表的构造函数)显式的初始化类的成员;而没使用初始化列表的构造函数是对类的成员赋值,并没有进行显式的初始化。初始化和赋值对内置类型的成员没有什么大的区别,像上面的任一个构造函数都可以。对非 阅读全文
posted @ 2013-07-04 21:05 朱颂东 阅读(221) 评论(0) 推荐(0)
摘要:作为四个内部类型转换操作符之一的dynamic_cast和传统的C风格的强制类型转换有着巨大的差别。除了dynamic_cast以外的转换,其行为的都是在编译期就得以确定的,转换是否成功,并不依赖被转换的对象。而dynamic_cast则不然。在这里,不再讨论其他三种转换和C风格的转换。首先,dynamic_cast依赖于RTTI信息,其次,在转换时,dynamic_cast会检查转换的source对象是否真的可以转换成target类型,这种检查不是语法上的,而是真实情况的检查。先看RTTI相关部分,通常,许多编译器都是通过vtable找到对象的RTTI信息的,这也就意味着,如果基类没有虚方法 阅读全文
posted @ 2013-07-01 16:40 朱颂东 阅读(347) 评论(0) 推荐(0)
摘要:一、#define的基本用法 #define是C语言中提供的宏定义命令,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率,但学生在学习时往往不能 理解该命令的本质,总是在此处产生一些困惑,在编程时误用该命令,使得程序的运行与预期的目的不一致,或者在读别人写的程序时,把运行结果理解错误,这对 C语言的学习很不利。1 #define命令剖析1.1 #define的概念 #define命令是C语言中的一个宏定义命令,它用来将一个标识符定义为一个字符串,该标识符被称为宏名,被定义的字符串称为替换文本。该命令有两种格式:一种是简单的宏定义,另一种是带参数的宏定义。(1)简单 阅读全文
posted @ 2013-06-30 20:00 朱颂东 阅读(4084) 评论(0) 推荐(1)
摘要:指针常量:定义方式:#include <stdio.h>main(){ int a = 10; int * const pi=&a;/*定义一个指针常量*/ a = 20; *pi = 35; printf("%d\n",a); printf("%d\n",*pi);}指针常量的意思是本身是常量,它自己的值不能被改变,但是它所指向的地址空间却不是常量,是可以被改变的例如上面的*... 阅读全文
posted @ 2010-06-17 10:43 朱颂东 阅读(857) 评论(0) 推荐(0)