C++
文章平均质量分 75
mowenliunian
这个作者很懒,什么都没留下…
展开
-
C++中的多态和虚函数
多态是面向对象的编程语言的三大特性之一。利用C++语言多态性,我们可以通过基类型指针指向不同层次的派生类型对象,以相同的代码实现不同的调用。这种多态性主要是借助虚函数实现的。原创 2016-08-12 20:48:57 · 334 阅读 · 0 评论 -
区分inet_addr、inet_aton和inet_ntoa
1. 函数功能inet_addr将点分十进制格式的IP地址(字符串)转化为网络字节顺序IP地址(u_long类型)。inet_aton将网络字节顺序的IP地址(in_addr类型)转化为点分十进制格式的IP地址(字符串)。inet_ntoa将点分十进制格式的IP地址(字符串)转化为网络字节顺序IP地址(in_addr类型)。2. in_addr和u_long的关系原创 2016-12-24 22:41:37 · 1141 阅读 · 0 评论 -
C++多线程编程
1. 多线程的意义程序是计算机指令的集合,它以文件的形式存储在磁盘上。进程通常被定义为一个正在运行的程序的实例,系统赋予每个进程独立的地址空间。进程从不执行任何东西,负责执行代码的是线程,创建进程时,操作系统会自动为该进程创建一个主线程。多线程程序相对于多进程程序,主要有两个优点:(1)共享一个虚拟地址空间,占用资源较少(2)线程间切换只是执行环境的切换,执行效率较高2. C+原创 2016-11-30 21:04:32 · 328 阅读 · 0 评论 -
基于Socket的MFC网络编程
一、基于TCP协议的编程步骤服务器端:1. 加载套接字库(WSAStartup)2. 创建用于监听的套接字(socket),然后将其绑定到本地SOCKADDR(bind),并将其设为监听模式(listen)3. 等待客户请求的到来:一旦收到客户连接请求,返回一个对应该连接的套接字(accept)4. 利用返回的套接字与客户端进行通信(recv/send)5. 通信完毕,关闭原创 2016-11-25 22:28:19 · 13237 阅读 · 0 评论 -
排序算法
1. 冒泡排序从左往右扫描数据,依次比较相邻两个元素,如果左边的元素大于右边的元素就交换,每次扫描中最大的元素被交换到了最右边。由于交换次数较多,该算法的效率较低。代码如下:// 冒泡排序void BubbleSort(int * pArr, int nSize){ // 共进行nSize - 1次扫描 for(int i = 0; i < nSize - 1; i++) {原创 2016-10-30 21:12:50 · 215 阅读 · 0 评论 -
查找算法
1. 顺序查找从第一个元素开始,直到找到与目标值相等的元素或遍历完整个容器。可用于任意容器。代码如下:// 顺序查找int SequentialSearch(int * pArr, int nSize, int nTarget){ for(int i = 0; i < nSize; i++) { if(pArr[i] == nTarget) { return i;原创 2016-10-30 17:48:49 · 182 阅读 · 0 评论 -
交换算法
1. 无效的交换---传值不能实现两个变量的交换,操作的是变量的副本。void swap(int x, int y);2. C语言交换方法(1)传指针可以实现两个变量的交换,但局限于变量类型。void swap(int *px, int *py);(2)宏定义可以实现两个变量的交换,变量类型不受限制。#define SWAP(x, y, t) ( (t)原创 2016-10-30 18:07:57 · 327 阅读 · 0 评论 -
区分BITMAP、CBitmap和HBITMAP
1. BITMAPBITMAP是一个结构体,封装着bitmap的一些信息。定义了逻辑位图的宽高、颜色格式和位值。2. CBitmapCBitmap是MFC中封装bitmap的类,包含着被位图的属性和对位图的操作。3. HBITMAPHBITMAP是bitmap的句柄,也就是bitmap资源的标识。4. 三者的联系通过CBitmap类的attach操作,可以将原创 2016-10-29 22:33:22 · 1434 阅读 · 0 评论 -
由一个MFC程序引发的对编程严谨性的思考
引言手上有一个基于MFC的桌面应用程序,其主要功能是:通过串口接收数据,经简单处理后在其页面上进行显示。这个应用程序已经在某台硬件性能稍好的主机上多次运行,并未发现任何异常现象。然而,在一次系统联试中,发生了一个近乎无解的问题:这个应用程序在另一台性能较差的主机上竟然出现了运行即崩溃的现象。项目进度紧张的背景下,这种问题着实让人抓狂,毫无防备。没办法,只能在这台主机上安装编译环境对源码进行调试原创 2016-08-29 20:49:54 · 458 阅读 · 0 评论