Friday 29 , 2013
书写代码得符合C++标准,代码得优美而安全,大量的宏和强制转换,以及数组都尽量不要使用.课后题必须得花时间去思考与专研.想到就去做出来,多练代码.
FMC也是需要学习的,现在还不能仅仅的追求程序运行效率,学习MFC最好的方式就是去学习源码
LPSTR和PSTR,LP顾名思义代表长指针,16位下的产物,但对于现在,2者以无区别,本质都是char * ;
数据变量的短前缀的含义, 前缀i表示:
int ;表示参数是一个int类型.
sz; 表示「以零结束的字符串」.
p; 表示一个指针.
c; 表示const.
str; 表示字符串.
Saturday 30, 2013
宽字符基于 wchar_t数据型态,它在几个表头文件包括WCHAR.H中都有定义,像这样:typedef unsigned short wchar_t ;
so,一般的用 strlen来取得宽字符串是不可行的,会的到1,因为这个函数看到\0结尾标识就认为字符串结束了.strlen函数的宽字符版是 wcslen();
您熟悉的所有带有字符串参数的C执行时期链接库函数都有宽字符版。例如,wprintf是printf的宽字符版。这些函数在WCHAR.H和含有标准函数说明的表头文件中说明。
一些对字符串操作的函数:
ILength = lstrlen (pString) ;
pString = lstrcpy (pString1, pString2) ;
pString = lstrcpyn (pString1, pString2, iCount) ;
pString = lstrcat (pString1, pString2) ;
iComp = lstrcmp (pString1, pString2) ;
iComp = lstrcmpi (pString1, pString2) ;
int sprintf (char * szBuffer, const char * szFormat, ...) ;
Tuesday 2 , 2013
C++中编程的思考:分析:取得对问题的清晰理解设计:标识出解决方案中所涉及的关键性概念编程:用程序表达解决方案
1.8 忠告:[1] 在编程时,你是在为你针对某个问题的解决方案中的思想建立起一种具体表示,让程序的结构尽可能的直接反应这些思想a.如何把它看成一个独立的概念,就把它做成一个类b.如何把它看成一个独立的实体,就把它做成某个类的对象c.如果两个类有共同的界面,将此界面做成一个抽象类d.如果两个类有些某些显著的相同的东西,将这些共性集合做成一个基类e.如果一个类是一种对象的容器,将他做成一个模板f.如果一组类,模板互相之间有逻辑关系,将他们放进一个名字控件
如果有2个数组 a[12] b[12] ,需要将a所有成员值赋值到b, 不要用低效的for循环,能直接用memcpy等内存管理即高效又使得代码简洁安全美观
Friday 5 , 2013
Bool 和 int 可以互相转换, 大于0的int被转换为 true(1) ,
有符号与无符号, signed 表示负的那一面, unsigned 表示正
整数类型分 int, long int , short inr .
0x 开头代表文字量是十六进制
0开头代表文字量八进制
后缀 U 用于显示写出 unsigned文字量 比如 3 是一个 int 3U就是一个unsigned int
后缀L 表示一个 long int
浮点数: 也有3中大小
float 单精度, double双精度 long double 扩展精度
枚举enum{ASM,AUTO,BREAK}; 定义三个称为枚举符的常量并赋值,默认为0开始递增
枚举也可以命名 enum keyword {ASM,AUTO,BREAK}; ASM的类型就是 keyword
typedef为前缀,他为类型声明了一个新名字
Seturday 6 , 2013
extern 开头的申明表示在别的头文件中定义
inline 在线化,也叫内联
static 静态对象,只有在第一次初始化有效,一直持续到程序结束
在不同作用域内的函数重载不算数
函数可以再申明时提供默认值,比如 void fun(int a =10);
明白自己哪里严重不足!!!
重复的温习类以及类层次结构!!!!