http://www.jobui.com/mianshiti/it/cpp/5059/
入口点是winmain函数;
Windows中有一个系统消息队列,对于每一个正在运行的windows应用程序,系统为它建立一个消息队列,即应用程序队列,用来存放该程序可能创建的各种窗口消息。应用程序中有一段“消息循环”代码,用来从消息队列中取出消息并分发到相应的窗口函数中。
Windows为当前正在执行的程序维护一个消息队列,当发生输入事件时,windows把事件转换为一个消息,并将消息放入程序的消息队列中。程序通过一块叫消息循环的代码从消息队列中取出消息:
while (GetMessage(&msg,NULL,0,0))
{
//将msg结构传给Windows,进行一些键盘转换
TranslateMessage(&msg);
//将msg回传给windows,然后windows将msg发送给响应的窗口消息处理程序
DispatchMessage(&msg);
}
Postmessage()将消息直接加入到应用程序的消息队列,不等程序返回就退出。Sendmessage()应用程序处理完该消息后,才返回。
http://blog.csdn.net/stpeace/article/details/8972881
http://www.cnblogs.com/BeyondAnyTime/archive/2012/06/05/2537451.html
临时对象都是常引用;
引用型参数尽量定义为常引用;
当程序显示一个模态对话框时,用户不能再对话框和该程序其他窗口键切换,用户必须先明确终止该对话框,通常点击OK或Cancel按钮来实现。
区别:
Vector为存储对象分配连续的内存空间,随机访问效率高;在vector中插入或删除某个元素,需要对现有元素进行拷贝、复制,如果现有元素比较大或者说构造函数比较复杂,那么拷贝时开销就会比较大。对于简单的对象,vector优于list。Vector每次扩展容量时,将容量扩展为原来容量的2倍,对于小对象来说,效率还是很高的。
List是离散存储的,随机访问时需要遍历整个list。在list中插入删除元素,尤其是在首尾操作,效率很高,只需要修改指针。
Vector适用于元素数量比较稳定,对象简单,随机访问笔记频繁。
List:适用于对象数量变化大,对象复制,插入删除操作频繁。
http://www.cnblogs.com/cxjchen/p/3148582.html
int SavetxtFile()
{
FILE *pf =fopen("data.txt","w+");
if (!pf)
{
puts("open file error!");
return -1;
}
int n;
while (true)
{
printf("input a num:");
scanf("%d",&n);
if (n==-1)
break;
fprintf(pf,"%d ",n);
}
fclose(pf);
puts("ok");
return 0;
}
C++里面有函数重载机制,为了区分重载函数,编译时需要把参数信息写入函数名中,fun_int_int,这样就导致编译前后函数名不一致。
但C语言中没有重载机制,所以,在C++中声明C的函数原型或为C写函数实现时,需要加上extern c,加上extern c表明编译时这个函数要保留原有的函数名。
指针常量:
Int * const p;
指针是修饰语,常量是本质;常量必须要初始化,初始化之后不可改变,所以最后,指针的地址值不可以改变。
该指针是一个常量,指针的地址不可以改变。
常量指针:
Cons tint *p;
它是一个指向常量的指针,就是指向对象是一个常量,不可以通过指针修改变量的值。