Welcome 微信登录

首页 / 软件开发 / C++

C++中函数模板(function template)返回值

C++中函数模板(function template)返回值

C++中函数模板(function template)返回值2014-11-20函数模板的返回值也可以定义为模板参数(template parameter), 但是由于无法推导(deduce), 需要显式(explicit)指定;由于显式指定的顺序是从左至右, 返回值参数尽量放在左面,其余函数参数可以通过传入实参(argument)进行推导;也可以提供由其他参数推导出的返回值类型, 需要使用拖尾返回类型(trailing return type);使用de...
一个简单的读写注册表实例

一个简单的读写注册表实例

一个简单的读写注册表实例2010-07-20小鹰一、说明:注册表是Windows重要组成部分,注册表记录了大量有关电脑软硬件的信息。注册表中的值通过其名称标识。值名称由与键名相同的字符组成。值本身可以是字符串、二进制数据或者是32位无符号值。在这里我们主要运用以下技巧:(一)、预定义的注册表键。注册表包含了几个预定义键:HKEY_LOCAL_MACHINE 包含描述计算机及其配置的条目。其中包括关于处理器、系统主板、内存和已安装的软件和硬件的信息。HKEY...
关于CEdit控件的透明

关于CEdit控件的透明

关于CEdit控件的透明2010-07-20monsoon前几天和风在这里讨论关于CEdit控件的透明问题。主要的目的就是要做一个有图形背景的Edit控件,经过一番努,终于做出了一个还算象样的Edit控件。做一个透明的Edit控件的主要问题是字符的输出,在Edit里输出的刷新有几个时机,一个是在接收到键盘或鼠标消息的时候 ,还有就是在接收到WM_PAINT消息。刷新的时候也不是全部重画,所以想通过在继承的Edit类中处理WM_PAINT消息是行不通的。但是...
通过串口实时接收短消息

通过串口实时接收短消息

通过串口实时接收短消息2010-07-20bhw98一年前本人曾写过“通过串口收发短消息(上)、(下)”两篇文章,讨论了在TE(PC、单片机系统等)上利用扩展的AT指令控制ME(手机,GSM模块等)发送和接收短消息的基本方法。其中接收/阅读短消息采用主动查询的方法。TE发送“AT+CMGL”指令,ME则输出已接收和存储的短消息。这比较符合AT指令集的精神:有问有答,一问一答。但在实际应用中,发现这种方法存在一...
C++中成员函数(member function)模板(template) 详解

C++中成员函数(member function)模板(template) 详解

C++中成员函数(member function)模板(template) 详解2014-11-20成员模板(member template) 既可以在普通类(ordinary class), 也可以在类模板(class template);在普通类中, 在使用成员函数时, 不用提供模板参数, 函数可以根据使用的参数,自动推导(deduce)模板实参(template argument)对应模板形参(template parameter);在类模板中, 成...
巧用Visual C++编程来实现全屏幕显示功能

巧用Visual C++编程来实现全屏幕显示功能

巧用Visual C++编程来实现全屏幕显示功能2010-07-20刘涛前言:在Visual C++编程中,有时需要采用尽量大的区域来作为显示区域,那么实现程序的全屏幕显示就不失为一种很好的选择了,所谓全屏幕显示,就是程序界面上没有菜单条、工具条等附加项,整个显示屏幕作为一个显示窗口来显示数据或图像,Windows的很多应用程序都提供了全屏幕显示功能,如Word、Excel和IE等。本例通过响应鼠标单击在全屏幕上画数字曲线来说明如何实现程序的全屏幕显示。一...
C++中类模板(class template)友元(friend) 的全部六种形式

C++中类模板(class template)友元(friend) 的全部六种形式

C++中类模板(class template)友元(friend) 的全部六种形式2014-11-20类模板(class template)的友元(friend)和普通类的友元, 有很多区别,主要原因是类模板包含模板参数(template parameter), 就会导致友元和类模板有很多匹配形式;主要包含六种形式:1. 类 - 友元(friend): "模板参数是当前类"的类模板;2. 类 - 友元: "模板参数任意&quo...
定制个性化的对话框窗口类

定制个性化的对话框窗口类

定制个性化的对话框窗口类2010-07-20赖锋相信很多人在VC下开发程序的时候大多都会采用基于对话框的开发吧,我也不例外,大多数的小型测试程序没有必要开发基于文档/视图的结构来测试,只要使用一些基本的对话框程序就可以达到这个目的 。但是在开发基于对话框的程序时,要使用到一些 Spy++ 的功能检测的时候,就会出现一些问题。什么问题呢?当我使用 Spy++ 去检测一个对话框的窗口类 时,并想得到一个对话框的窗口类,以便我在使用钩子的时候可以指定一个对话框进...
深入CSocket编程之阻塞和非阻塞模式

深入CSocket编程之阻塞和非阻塞模式

深入CSocket编程之阻塞和非阻塞模式2010-07-20Starlight本文适合初中级读者阅读有时,花上几个小时阅读、调试、跟踪优秀的源码程序,能够更快地掌握某些技术关键点和精髓。当然,前提是对这些技术大致上有一个了解。我通过几个采用 CSocket 类编写并基于 Client/Server (客户端 / 服务端)的网络聊天和传输文件的程序 ( 详见: 源代码参考 ) ,在调试这些程序的过程中,追踪深入至 CSocket 类核心源码 Sockcore...
C++中复制(copy) 和 虚复制(virtual copy) 的 区别

C++中复制(copy) 和 虚复制(virtual copy) 的 区别

C++中复制(copy) 和 虚复制(virtual copy) 的 区别2014-11-20在继承过程中, 需要区分复制(copy)和虚复制(virtual copy);在派生类转换为基类时, 复制(copy)有可能切掉(sliced down)派生对象的派生部分, 只保留基类部分, 使派生类的虚函数无法使用;为了避免此情况, 如果传入是对象, 则可以定义虚函数clone, 使派生类继承此虚函数, 再传入容器, 可以重载方法;另外, 如果传入是实参, 使...
分割窗口后如何限制分割条的移动范围

分割窗口后如何限制分割条的移动范围

分割窗口后如何限制分割条的移动范围2010-07-20刘良敏做一个项目,把一个单文档的窗口分割成左右两列,同时还需要设置左边窗口的最小尺寸。找了很多资料,都是针对对话框或者文档的,试了OnSizing和GetMinMaxInfo,结果对分割窗口无效。后来看到分割窗口的例子有锁定分割条的代码,跟同事讨论了一下,来了灵感。下面是解决办法,其实很简单的,可能以前有人做过吧,不过我在网上没有搜索到,所以把我的做法写出来跟大家分享。一、新建一个类CMySplitte...
C++中派生类的构造和析构顺序详解

C++中派生类的构造和析构顺序详解

C++中派生类的构造和析构顺序详解2014-11-20派生类因为要调用基类, 所以构造和析构都是按照一定顺序进行;构造的顺序是: 基(base) -> 派生(derived);即先构造基类, 再构造派生类;因为 基类 是独立于派生类的, 即不会调用派生类中的对象, 所以应该先被生成;如果派生类先于基类生成, 则因为无法调用基类资源, 可能生成失败;析构的顺序是: 派生(derived) -> 基(base); 即先释放派生类, 再释放基类;因为...
<< 271 272 273 274 275 276 277 278 279 280 >>