摘要:
1.内核对象(可处于已通知、未通知状态) 进程 线程 作业 文件 控制台输入 文件修改通知 事件 可等待定时器 信标 互斥对象 2.用于控制每个对象的已通知/未通知状态的规则根据对象的类型而定 线程:创建一个线程内核对象后,对象设置为未通知状态。 WaitForSingleObject(hProce 阅读全文
摘要:
1.模式(domodal())有自己的特殊消息循环 2.非模式(new,create()),公用程序的消息循环,和普通的窗口没有什么区别 3.无论式模式对话框还是非模式对话框,在MFC内部都是调用CreateDialogIndirect(xxx)函数来创建非模式对话框。指示模式对话框做了更多工作,包 阅读全文
摘要:
1.explicit 通常,除非有明显的理由想要定义隐式转换,否则,单形参构造函数应该为explicit。 将构造函数设置为explicit可以避免错误,并且当转换有用时,用户可以显式的构造对象。 string null_book = "9_999_99999_9" item.same_isbn(s 阅读全文
摘要:
为了使子的程序有很好的移植性,c++程序员应该尽量使用size_t和size_type而不是int,unsigned 1.size_t使全局定义的类型 size_type是STL类中定义的类型属性,用以保存任意string和vector类对象的长度 2.string::size_type 一般是un 阅读全文
摘要:
#include "stdio.h" #define TEST_2 1 int main() { int a = 11; /* #if TEST_2 int *b = &a; *b = 10; #endif a++; */ } 对某些功能不需要,TEST_2宏定义改为0,重新编译 阅读全文
摘要:
reinterpret_cast:强制类型转换符 dynamic_cast:依赖于RTTI信息,转换时dynamic_cast会检查转换的Source对象是否真的可以转换成target类型 阅读全文
摘要:
const 数据成员、引用类型数据成员 阅读全文
摘要:
system("pause"); 阅读全文
摘要:
当定义符合标准库iostream规范的输入或输出操作符时,必须使它成为非成员操作符 <<是二元操作符,接受2各参数,第一个参数<<第二个参数,返回第一个参数引用,为了可以连写:os<<pt1<<pt2 阅读全文
摘要:
SendMessge 不进队列 PostMessage 进队列 PeekMessage 异步 队列有无消息都返回 GetMessage 同步 有消息才返回 PreTreslateMessage 对消息预处理,不预处理SendMessge消息,预处理PostMessage消息 阅读全文