关于鼠标左键点击消息为什么没有触发的总结

在编写绘图板程序,响应鼠标点击释放和移动消息进行绘图时犯了一个很低级的错误,当时调试程序进行鼠标点击移动操作,然后就出bug了:我进行了两次鼠标快速点击操作然后移动,画图程序并没有执行相应的操作,最后发现是因为两次快速点击是鼠标双击消息,因为我没有写相应的代码,所以才出现了问题。先设一个全局变量开关,用来判断鼠标释放按下bool isDown=false; 当鼠标左键按下时,把开关改为true,代

- 阅读全文 -

归并排序

#include <iostream> #include <stdlib.h> #include <time.h> #define MAX 10 template<typename T> void Merge(T *a, int low, int mid, int high,int *b) { //注意i,j随着递归的进行,值会变化

- 阅读全文 -

Linux平台下TCP回声客户端与服务器的完美实现

实现程序之前,我们先看一下客户端与服务器的默认函数调用顺序。如图给出了TCP服务器端默认函数的调用顺序,绝大部分TCP服务器端都按照该顺序调用:下面是TCP客户端默认函数的调用顺序,这要比服务器端简单许多,因为创建套接字和请求连接就是客户端的全部内容:Linux服务端代码:注:以下代码均在linux环境下编译运行,windows下需稍作修改#include <stdio.h> #inc

- 阅读全文 -

explicit 构造函数

C++的构造函数默认有一个隐式转换,将构造函数对应数据类型的数据转换为该类对象,如下:class String { String ( const char* p ); // 用C风格的字符串p作为初始化值 //… } String s1 = “hello”; //OK 隐式转换,等价于String s1 = String(“hello”); 但是有的时候可能会不需要这种隐式转换,如下:class

- 阅读全文 -