自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)
  • 问答 (2)
  • 收藏
  • 关注

转载 【C++专题】static_cast, dynamic_cast, const_cast探讨

首先回顾一下C++类型转换:C++类型转换分为:隐式类型转换和显式类型转换第1部分. 隐式类型转换又称为“标准转换”,包括以下几种情况:1) 算术转换(Arithmetic conversion) : 在混合类型的算术表达式中, 最宽的数据类型成为目标转换类型。 int ival = 3;double dval = 3.14159;

2015-09-09 14:52:05 318

转载 c++ 副本构造器

我们都知道两个指针指向同一个变量时如果一个指针被释放那么另一个就会出问题为了说明问题我做了一个很恶心的小例子class C{public : C(int v) { ptrInt=new int; *ptrInt=v; valueInt = v; } ~C() { }

2015-09-09 14:33:24 442

转载 [C++][编程风格]C++命名规则

C++命名规范常见命名法: 匈牙利命名法:基本原则是:变量名=属性+类型+对象描述,其中每一对象的名称都要求有明确含义,可以取对象名字全称或名字的一部分。命名要基于容易记忆容易理解的原则。保证名字的连贯性是非常重要的。 Camel命名法:即骆驼式命名法,原因是采用该命名法的名称看起来就像骆驼的驼峰一样高低起伏。Camel命名法有两种形式:混合使用大小写字母和单词之间加下划线

2015-09-02 17:27:44 332

转载 C++流的概念

在C++语言中,数据的输入和输出(简写为I/O)包括对标准输入设备键盘和标准输出设备显示器、对在外存磁盘上的文件和对内存中指定的字符串存储空间(当然可用该空间存储任何信息)进行输入输出这三个方面。对标准输入设备和标准输出设备的输入输出简称为标准I/O,对在外存磁盘上文件的输入输出简称为文件I/O,对内存中指定的字符串存储空间的输入输出简称为串I/O。C++语言系统为实现数据的输入和输出定义了一

2015-09-02 16:11:24 655

转载 C++成员函数的 重载、隐藏、覆盖分析

林锐博士的《高质量C++/C编程指南中对“成员函数的重载、覆盖、隐藏 ”分析设计到一些本质的东西,可能因为博士处一个比较高的位置,对一些问题看来是理所当然,所以其解释可能过于简单,对初学者可能不是十分好理解。  下面,我就这三个规则提出一些个人的看法,理解。这个三规则的顺序我认为应该改为“重载、隐藏、覆盖”来讲,可能思路会清晰一些。  重载的特征:  1、处在相同的空间中,即相同的

2015-09-02 00:28:30 356

转载 C++多态的实现及原理详细解析

C++的多态性用一句话概括就是:在基类的函数前加上virtual关键字,在派生类中重写该函数,运行时将会根据对象的实际类型来调用相应的函数。如果对象类型是派生类,就调用派生类的函数;如果对象类型是基类,就调用基类的函数1. 用virtual关键字申明的函数叫做虚函数,虚函数肯定是类的成员函数。2. 存在虚函数的类都有一个一维的虚函数表叫做虚表。类的对象有一个指向虚表

2015-09-02 00:16:20 416

转载 C++内存分配方式详解——堆、栈、自由存储区、全局/静态存储区和常量存储区

栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。在一个进程中,位于用户虚拟地址空间顶部的是用户栈,编译器用它来实现函数的调用。和堆一样,用户栈在程序执行期间可以动态地扩展和收缩。  堆,就是那些由 new 分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个 new 就要对应一个 delete。如果程序员没

2015-09-01 22:12:02 309

转载 static的作用详解

1、什么是static?1) static 是C++中很常用的修饰符,它被用来控制变量的存储方式和可见性。2) static 被引入以告知编译器,将变量存储在程序的静态存储区而非栈上空间(静态存储区生存周期长)。3) static 它会把变量的可见范围限制在编译单元中,使它成为一个内部连接,它的反义词为:extern。4) 在类中,静态成员可以实现多个对象之间的数据共享,并且使用静

2015-09-01 22:10:28 510

转载 Openssl编程初探

一、安全通信系统--OpenSSL的安装编译、证书生成1.下载编译并且安装配置从OpenSSLd的官网上(www.openssl.org)下载最新版本或者稳定版本的OpenSSL(本次实验的版本是openssl-1.0.1c),然后解压压缩包。加压之后,由于环境是windows平台的,打开根目录下的windows安装帮助文件(INSTALL.W32),根据文件描述编

2015-08-25 15:57:01 500

转载 解决子窗口(视图)截获父窗口消息的2个办法(MFC)

这样的需求: 1.如果想在CView里面截获发给子框架Frame的消息怎么办? 2.假如子窗口拆分视图了, 那还得细分, 是所有视图都想截获消息,还是某个特定的视图想截获某个特定的消息.对于需求1: 办法1.是重载子框架Frame的WindowProc(UINT message, WPARAM wParam, LPARAM lParam)函数,将自定义的消息(大于WM_USER)转发给自己的视

2015-08-25 15:48:46 2679

转载 PE文件结构详解

1.M_DOS头部结构体:IMAGE_DOS_HEADER STRUCT { +00h WORD e_magic // Magic DOS signature MZ(4Dh 5Ah) DOS可执行文件标记 +02h WORD e_cblp // Bytes on last page of file +04h WORD e_cp // Pages in file +0

2015-08-23 19:36:38 2929

转载 揭开常见病毒免杀手法的面纱(浅论杀或者不杀.第二篇)

你杀或者不杀我,我就在那里不悲不喜……借用黑客防线的名言:“在攻与防的对立统一中寻求突破!”小甲鱼从现在开始就厚着脸皮跟大家来谈谈杀毒软件查杀病毒、木马的原理以及病毒、木马如何做出应对和反击的措施。第二篇 揭开常见病毒免杀手法的面纱。由前一篇我们知道,杀毒软件虽然技术日益更新,但主流的查杀方案还是通过特征码的方式来查杀病毒木马的:当一个新的病毒木马或可疑程序一旦出现

2015-08-21 20:43:06 2371

转载 杀毒软件的查杀病毒的原理以及木马、病毒的免杀伎俩(论杀或者不杀 )

杀毒软件的查杀病毒的原理以及木马、病毒的免杀伎俩(论杀或者不杀 )无意中在网上看到的,描述通俗易懂,基本全是基础知识,权当了解吧。====================================================================================================你杀或者不杀我,我

2015-08-21 20:41:29 5679

转载 MFC如何使控件大小随着对话框大小自动调整

对话框的大小变化后,假若对话框上的控件大小不变化,看起来会比较难看。下面就介绍怎么让对话框上的控件随着对话框的大小的变化自动调整。首先明确的是Windows有一个WM_SIZE消息响应函数,这个函数在对话框大小发生变化的时候调用,所以我们可以记录下原来对话框的大小,还有当前对话框的大小(这个不用自己算,系统已给出),然后根据控件做出相应比例的调整。比如原来对话框大小为a

2015-08-13 15:22:47 589

原创 简单分析一下socket中的bind

在最开始接触bind的时候,只是在写基于tcp的server端的时候,知道在listen之前需要先bind一下,用来确保socket能在某个固定的端口监听。而bind的时候,函数参数中的端口填自己将要绑定的端口就行;而IP地址,需要填本机的IP,但是也可以用一个宏INADDR_ANY代替,用这个宏就可以不用查找本机的IP,它就可以代替本机的IP。当时只觉得这个INADDR_ANY比较神奇,但是由于

2015-08-05 18:28:42 376

转载 CreatDC()和CreateIC()

CreateIC()和CreateDC()都获取设备描述表句柄,但用CreateDC()获取的能够进行绘画,而用CreateIC()获取的设备描述表,你却不能用它往设备上写东西,只能查询获取你所要的信息。测试代码如下:   #include LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;int WINAPI

2015-08-04 23:54:42 1237

转载 MFC Socket简单服务器与客户端源码

服务器端代码:#include "stdafx.h"#include "MTServer.h"SOCKET server;using namespace std;UINT  MTServerThread(LPVOID pParam);UINT  ClientThread(LPVOID pParam);BOOL ParseC

2015-08-04 18:19:32 1888 2

转载 Socket与WSASocket的区别

socket()   创建一个通讯端点并返回一个套接口。但是在socket库中例程在应用于阻塞套接口时会阻塞。     WSASocket()的发送操作和接收操作都可以被重叠使用。接收函数可以被多次调用,发出接     收缓冲区,准备接收到来的数据。发送函数也可以被多次调用,组成一个发送缓冲区队列。     可是socket()却只能发过之后等待回消息才可做下一步操作!  He

2015-08-03 18:05:08 768

原创 VS2010项目中添加lib库

应用程序使用外部库时需要进行加载。VS2010 C++项目设置外部库的方法如下: 1、 添加编译器所需要(依赖)的lib文件 在“项目—》属性—》配置属性—》连接器—》输入—》附加依赖项”里填写所需要的lib文件,多个lib以空格隔开,等同于“#pragma comment(lib, “xxx.lib”)”语句。 2、 添加库(libs)文件目录 在“项目—》属性—》配置属性—》连接器—》

2015-08-03 17:42:49 776

转载 VS2010中编译openssl的步骤和使用设置

VS2010中编译openssl的步骤和使用设置  2013-11-04 14:15:36|  分类: openssl|举报|字号 订阅    下载LOFTER客户端一.VS2010中编译openssl的步骤版本号:openssl-1.0.1e

2015-07-28 11:48:39 3588

转载 头文件互相包含与error C2146: 语法错误 : 缺少“;”的问题

采集图像卡遇到SDK的头文件error C2146: 语法错误 : 缺少“;”的问题,百度了下原来是头文件包含的问题,几个参考的体贴子。如下:原帖地址:http://hi.baidu.com/shilyx/item/6f1f88052982a88a03ce1b36C++中头文件相互包含的几点问题一、类嵌套的疑问C++头文件重复包含实在是一个令人头痛的问题,前一段时间

2015-07-22 17:22:41 684

转载 typedef和#define的用法与区别

typedef和#define的用法与区别一、typedef的用法在C/C++语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像:typedef    int       INT;typedef    int       ARRAY[10];typedef   (int*)   pINT;type

2015-07-21 18:41:43 479

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除