07 2012 档案

摘要:Void Pointer(void *)类型 指针是一种特殊的指针,可以用以指向任意的数据类型。但是void*类型指针当然也有它的局限,不能将这个类型的指针指向其他的既定的类型,如char*。如果要进行转换则需要强制类型转换。如:void* ptr = "HAHAHA";char* str = (char*) ptr;Volatile Pointervolatile 和 const都是类型限定符。volatile关键字可以用来说明一个变量有可能被意想不到的改变。如果一个变量被多次应用那么编译器的优化程序就会将其拷贝到寄存器中进行程序的优化,而当这个变量一直在改变的时候这样的 阅读全文
posted @ 2012-07-25 16:01 小卡的土豆园 阅读(343) 评论(0) 推荐(0)
摘要:调用C++编译器的命令因编译器和操作系统的不同而不同,常用的编译器是GNU编译器和微软Visual Studio编译器。调用GNU编译器的默认命令是g++ --《primer》gcc 和 g++分别是GNU的C和C++的编译器。一般分成四步: 1. 预处理,生成.i的文件 [预处理器cpp]2. 将预处理后的文件不转换成汇编语言,生成.s文件[编译器egcs]3. 有汇编变为目标代码(机器代码)生成.o文件[汇编器as]4. 连接目标代码,生成可执行程序 [链接器] 下面给出一些例子,运行环境是win7+Cygwin。 编译使用编译器将代码编译成二进制目标文件(object file)。g+. 阅读全文
posted @ 2012-07-24 22:49 小卡的土豆园 阅读(14331) 评论(0) 推荐(0)
摘要:处理特殊字符插入的文本中,如果有单引号,就会报错。 如果是自己写的文本则需要在单引号前加上转义字符,因为ODBC需要进行一次转移。如:strQuery.Format("INSERT INTO doc (text) VALUES(\'%s\');",text.c_str());但是如果是拼接的字符则需要进行两次转义,因为拼接的时候需要一次转义而后的ODBC又需要一次转义,如:CString strQuery = "INSERT INTO "+chartName+"("+strName+") VALUES( 阅读全文
posted @ 2012-07-05 15:53 小卡的土豆园 阅读(274) 评论(0) 推荐(0)
摘要:set是C++ STL中一个有序的容器,与vector不同的是set里的元素不能重复。由于有排序的要求所以不是什么类型的都能往里放的,如果要放入一个set不支持的数据类型需要重载。set 排序函数准则(准则摘抄自:http://hi.baidu.com/zhouhong0730/blog/item/45fbc432c1ec80a55fdf0e18.html)向set中添加的元素类型必须重载<操作符用来排序,排序满足以下准则:1、非对称,若A<B为真,则B<A为假。2、可传递,若A<B,B<C,则A<C。3、A<A永远为假。set中判断元素是否相等: i 阅读全文
posted @ 2012-07-04 21:13 小卡的土豆园 阅读(6999) 评论(0) 推荐(1)