摘要: 使用数组初始化 vector 对象,必须指出用于初始化式的第一个元素以及数组最后一个元素的下一位置的地址:const size_t arr_size = 6;int int_arr[arr_size] = {0, 1, 2, 3, 4, 5};vector ivec(int_arr, int_arr + arr_size);传递给 ivec 的两个指针标出了 vector 初值的范围。第二个指针指向被复制的最后一个元素之后的地址空间(int_arr[6])。被标出的元素范围可以是数组的子集:如:vector ivec(int_arr + 1, int_arr + 4);这个初始化创建了含有三个 阅读全文
posted @ 2013-11-29 19:55 古木木 阅读(812) 评论(0) 推荐(0) 编辑
摘要: 对于简单的、无混音音频,AVAudio ToolBox框架提供了一个简单的C语言风格的音频服务。你可以使用AudioservicesPlaySystemSound函数来播放简单的声音。要遵守以下几个规则:1.音频长度小于30秒2.格式只能是PCM或者IMA43.文件必须被存储为.caf、.aif、或者.wav格式4.简单音频不能从内存播放,而只能是磁盘文件除了对简单音频的限制外,你对于音频播放的方式也基本无法控制。一旦音频播放就会立即开始,而且是当前电话使用者设置的音量播放。你将无法循环播放声音,也无法控制立体声效果。不过你还是可以设置一个回调函数,在音频播放结束时被调用,这样你就可以对音频对 阅读全文
posted @ 2013-07-07 20:50 古木木 阅读(3955) 评论(0) 推荐(0) 编辑
摘要: 1、随机数的使用1)、arc4random() 比较精确不需要生成随即种子 使用方法 : 通过arc4random() 获取0到x-1之间的整数的代码如下: intvalue=arc4random()%x; 获取1到x之间的整数的代码如下: intvalue=(arc4random()%x)+1; 2)、CCRANDOM_0_1() cocos2d中使用 ,范围是[0,1] 使用方法: float random = CCRANDOM_0_1() * 5; //[0,5] CCRANDOM_0_1() 取值范围是[0,1] 3)、random() 需要初始化时设置种子 使用方法: srandom 阅读全文
posted @ 2014-03-12 18:39 古木木 阅读(270) 评论(0) 推荐(0) 编辑
摘要: int (*ip)[4] = ia; // ip points to an array of 4 ints(ip指向的是一个含有4个元素的数组)ip = &ia[2]; // ia[2] is an array of 4 ints(ia[2]是一个数组,里面包含4个元素)定义指向数组的指针(int (*ip)[4] = ia)与如何定义数组本身类似:首先声明元素类型,后接(数组)变量名字和维数。窍门在于(数组)变量的名字其实是指针,因此需在标识符前加上 *。如果从内向外阅读 ip 的声明,则可理解为:*ip 是 int[4] 类型——即 ip 是一个指向含有 4 个元素的数组的指针。在 阅读全文
posted @ 2013-11-29 20:44 古木木 阅读(393) 评论(0) 推荐(0) 编辑
摘要: const size_t rowSize = 3; const size_t colSize = 4; int ia[rowSize][colSize]; for (size_t i = 0; i != rowSize; ++const size_t rowSize = 3; const size_t colSize = 4; int ia[rowSize][colSize]; for (size_t i = 0; i != rowSize; ++i) { for (size_t j = 0; j != colSize; ++j) { ia[i][j] = i * ... 阅读全文
posted @ 2013-11-29 20:26 古木木 阅读(335) 评论(0) 推荐(0) 编辑
摘要: 1:char *str = st2.c_str();2:c_str 函数返回 C 风格字符串,其字面意思是:“返回 C 风格字符串的表示方法”,即返回指向字符数组首地址的指针,该数组存放了与 string 对象相同的内容,并且以结束符 null 结束。 阅读全文
posted @ 2013-11-29 19:50 古木木 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 每一个程序在执行时都占用一块可用的内存空间,用于存放动态分配的对象,此内存空间称为程序的自由存储区或堆。C 语言程序使用一对标准库函数malloc 和 free 在自由存储区中分配存储空间,而 C++ 语言则使用 new 和delete 表达式实现相同的功能。 阅读全文
posted @ 2013-11-27 19:40 古木木 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 1:ptrdiff_t两个指针减法操作的结果是标准库类型(library type)ptrdiff_t 的数据,与 size_t 类型一样,ptrdiff_t 也是一种与机器相关的类型,在 cstddef 头文件中定义。size_t 是ptrdiff_t 则是 signed 整型。ptrdiff_t 类型则应保证足以存放同一数组中两个指针之间的差距,它有可能是负数。 阅读全文
posted @ 2013-11-27 10:18 古木木 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 试图对不存在的元素进行下标操作是程序设计过程中经常会犯的严重错误。所谓的“缓冲区溢出”错误就是对不存在的元素进行下标操作的结果。这样的缺陷往往导致 PC 机和其他应用中最常见的安全问题。 阅读全文
posted @ 2013-11-26 19:28 古木木 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 1:s.empty() 如果 s 为空串,则返回 true,否则返回 false。s.size() 返回 s 中字符的个数s[n] 返回 s 中位置为 n 的字符,位置从 0 开始计数s1 + s2 把 s1 和s2 连接成一个新字符串,返回新生成的字符串s1 = s2 把 s1 内容替换为 s2 的副本v1 == v2比较 v1 与 v2 的内容,相等则返回 true,否则返回 false!=, , and >= 保持这些操作符惯有的含义2:string::size_type 类型从逻辑上来讲,size() 成员函数似乎应该返回整形数值,或如 2.2 节“建议”中所述的无符号整数。但事 阅读全文
posted @ 2013-11-25 20:44 古木木 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 1:typedef为某种类型引入同义词。格式:typedef type synonym;定义 synonym 为名为 type 的类型的另一名字。2:unsigned(无符号型)保存大于等于零的值的整型。3:void type(空类型)用于特殊目的的没有操作也没有值的类型。不可能定义一个 void 类型的变量。最经常用作不返回结果的函数的返回类型。4:命名空间的 using 声明在本章之前看到的程序,都是通过直接说明名字来自 std 命名空间,来引用标准库中的名字。例如,需要从标准输入读取数据时,就用 std::cin。这些名字都用了:: 操作符,该操作符是作用域操作符。它的含义是右操作数的名 阅读全文
posted @ 2013-11-25 20:10 古木木 阅读(165) 评论(0) 推荐(0) 编辑