重载->
摘要:必须定义为类成员函数 不接受显示形参,必须返回指向类类型指针或定义了箭头操作符的类类型对象 可以使当前类对象调用其他类中的成员(如智能指针) #include <iostream> #include <vector> using namespace std; class Dog{ public: s
阅读全文
内核对象同步
摘要: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
阅读全文
size_t与size_type
摘要:为了使子的程序有很好的移植性,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
摘要:reinterpret_cast:强制类型转换符 dynamic_cast:依赖于RTTI信息,转换时dynamic_cast会检查转换的Source对象是否真的可以转换成target类型
阅读全文
重载<<
摘要:当定义符合标准库iostream规范的输入或输出操作符时,必须使它成为非成员操作符 <<是二元操作符,接受2各参数,第一个参数<<第二个参数,返回第一个参数引用,为了可以连写:os<<pt1<<pt2
阅读全文
SendMessage、PostMessage、PeekMessage、GetMessage、PreTreslateMessage等
摘要:SendMessge 不进队列 PostMessage 进队列 PeekMessage 异步 队列有无消息都返回 GetMessage 同步 有消息才返回 PreTreslateMessage 对消息预处理,不预处理SendMessge消息,预处理PostMessage消息
阅读全文
TranslateMessage
摘要:用于将虚拟键消息转换为字符消息 字符消息被投递到调用线程的消息队列中,当下一次调用GetMessage函数时被取出
阅读全文
怎样在整个类中恒定常量
摘要:Class A { enum{SIZE1 = 100,SIZE2 = 200}; int array1[SIZE1]; int array2[SIZE2]; }; 枚举常量不会占用对象的存储空间,它们在编译时被全部求值 缺点:隐含数据类型为整数,最大值有限,不能表示浮点数
阅读全文
CString 与 string 转换
摘要:string line; CString str(line.c_str());
阅读全文
换行
摘要:UNIX:'\n' Macintosh:'\r' MS:''\r\n'' 换行 回车
阅读全文
结构体对齐
摘要:#pragma pack(n) //n:按照n来对齐,最大为结构体成员中的所占最大字节数 #pragma pack() //取消所设置的对齐字节
阅读全文
tinyxml 加载xml失败
摘要:loadfile错误原因 格式大小写 自定义字段不能重复 Byte0="1",Byte0="2"
阅读全文
调试与发布版代码不同
摘要:#ifndef _DEBUG if(m_a) # endif ........
阅读全文
导入lib
摘要:project->Add to Project ->Files; include "xx.h". #pragma comment(Lib,"*.lib")
阅读全文
CustomControl与普通控件
摘要:使用CustomControl需AfxRegisterClass() 使用普通控件如static 需subclassdlgitem (DDX_CONTROL())
阅读全文
回调与线程函数访问非静态成员方法
摘要:1.回调函数 参数种包含一个空指针,回调前先设置回调,此时把需回调的类指针保存,回调时,将保存的指针传入回调函数 2.线程函数 创建线程时,参数设为所在类的指针,线程函数传入此参数
阅读全文
写文件自动控制字段长度
摘要:+=“\t” 换码符‘\t’表示水平制表位,光标移到最接近8的倍数的位置
阅读全文