Welcome 微信登录

首页 / 软件开发 / C++

API Hook基本原理和实现

API Hook基本原理和实现

API Hook基本原理和实现2008-01-05 ccrun.com wskjufhook是什么?windows系统下的,消息message的传递是贯穿其始终的。这个消息我们可以简单理解为一个有特定意义的整数,正如我们看过的老故事片中的“长江长江,我是黄河”一个含义。windows中定义的消息给初学者的印象似乎是“不计其数”的,常见的一部分消息在winuser.h头文件中定义。hook与消息有着非常密切的联...
C++运算符重载函数基础及其值返回状态

C++运算符重载函数基础及其值返回状态

C++运算符重载函数基础及其值返回状态2008-01-05 PConline 管宁运算符重载是C++的重要组成部分,它可以让程序更加的简单易懂,简单的运算符使用可以使复杂函数的理解更直观。对于普通对象来说我们很自然的会频繁使用算数运算符让他们参与计算,但是对于自定义类的对象来说,我们是无论如何也不能阻止写出像下面的代码一样的程序来的。例子如下:class Test{//过程省略}int main(){Test a,c;c=a+a;}当然这样的代码是不能够通...
C++中利用构造函数与无名对象简化运算符重载函数

C++中利用构造函数与无名对象简化运算符重载函数

C++中利用构造函数与无名对象简化运算符重载函数2008-01-05 PConline 管宁在完整描述思想之前,我们先看一下如下的例子,这个例子中的加运算符重载是以非成员函数的方式出现的://程序作者:管宁//站点:www.cndev-lab.com//所有稿件均有版权,如要转载,请务必著名出处和作者#include <iostream>using namespace std;class Test{public:Test(int a){Test...
《挑战30天C++入门极限》引言

《挑战30天C++入门极限》引言

《挑战30天C++入门极限》引言2008-01-05管宁作为一个长篇的C++入门教程,无论如何也应该有这么个引言,可是文笔并不好的我,想了很久也不知道该如何写。。。。。。仔细想想,与其把这篇短文当作教程的引言,其实它更应该是一篇引导初学者步入C++殿堂的策论。几年并不算很长的编程经验,使我感触颇深,痛苦迷茫,以及成功后的喜悦一直交替着伴随我,爱好编程的我,在学习期间也被很多很多学习的困难疑惑所阻挡,甚至不只一次的想放弃。让我初次领略到作为一个程序员应该有快...
C/C++中利用数组名/指针进行排序实例

C/C++中利用数组名/指针进行排序实例

C/C++中利用数组名/指针进行排序实例2008-01-05 PConline 管宁在c/c++中利用数组名作为函数参数传递排序和用指针进行排序的例子。以下两个例子要非常注意,函数传递的不是数组中数组元素的真实值而是数组在内存中的实际地址。#include <stdio.h>void main(void){void reversal();static int a[10] = {0,1,2,3,4,5,6,7,8,9}; /* 建立一个数组并初始...
c/c++中指针学习的两个绝好例子

c/c++中指针学习的两个绝好例子

c/c++中指针学习的两个绝好例子2008-01-05管宁对于众多人提出的c/c++中指针难学的问题做个总结:指针学习不好关键是概念不清造成的,说的简单点就是书没有认真看,指针的学习犹如人在学习饶口令不多看多学多练是不行的,下面是两个很经典的例子,很多书上都有,对于学习的重点在于理解*x和x的理解,他们并不相同,*x所表示的其实就是变量a本身,x表示的是变量a在内存中的地址,如果想明白可以输出观察cout<<*x"|"x;,...
C++中的const限定修饰符

C++中的const限定修饰符

C++中的const限定修饰符2008-01-05 PConline 管宁const修饰符可以把对象转变成常数对象,什么意思呢?意思就是说利用const进行修饰的变量的值在程序的任意位置将不能再被修改,就如同常数一样使用!使用方法是:const int a=1;//这里定义了一个int类型的const常数变量a;但就于指针来说const仍然是起作用的,以下有两点要十分注意,因为下面的两个问题很容易混淆!我们来看一个如下的例子:#include <io...
C++中的引用类型

C++中的引用类型

C++中的引用类型2008-01-05管宁引用类型也称别名,它是个很有趣的东西。在c++ 下你可以把它看作是另外的一种指针,通过引用类型我们同样也可以间接的操作对象,引用类型主要是用在函数的形式参数上,通常我们使用它是把类对象传递给一个函数。引用对象采用类型名加上&符号和名称的方式进行定义。例如:(int &test;),这里我们就定义了一个int类型的名为test 的引用,但是int &test;这样的方式是不能够被编译成功的,因...
C/C++中枚举类型(enum)

C/C++中枚举类型(enum)

C/C++中枚举类型(enum)2008-01-05管宁如果一个变量你需要几种可能存在的值,那么就可以被定义成为枚举类型。之所以叫枚举就是说将变量或者叫对象可能存在的情况也可以说是可能的值一一例举出来。举个例子来说明一吧,为了让大家更明白一点,比如一个铅笔盒中有一支笔,但在没有打开之前你并不知道它是什么笔,可能是铅笔也可能是钢笔,这里有两种可能,那么你就可以定义一个枚举类型来表示它!enum box{pencil,pen};//这里你就定义了一个枚举类型的...
C/C++中数组和指针类型的关系

C/C++中数组和指针类型的关系

C/C++中数组和指针类型的关系2008-01-05 PConline 管宁对于数组和多维数组的内容这里就不再讨论了,前面的教程有过说明,这里主要讲述的数组和指针类型的关系,通过对他们之间关系的了解可以更加深入的掌握数组和指针特性的知识!一个整数类型数组如下进行定义:int a[]={1,2,3,4};如果简单写成:a;//数组的标识符名称这将代表的是数组第一个元素的内存地址,a;就相当于&a[0],它的类型是数组元素类型的指针,在这个例子中它的类...
C++中的内联函数(inline)

C++中的内联函数(inline)

C++中的内联函数(inline)2008-01-05 PConline 管宁在c++中,为了解决一些频繁调用的小函数大量消耗栈空间或者是叫栈内存的问题,特别的引入了inline修饰符,表示为内联函数。可能说到这里,很多人还不明白什么是栈空间,其实栈空间就是指放置程序的局部数据也就是函数内数据的内存空间,在系统下,栈空间是有限的,如果频繁大量的使用就会造成因栈空间不足所造成的程序出错的问题,函数的死循环递归调用的最终结果就是导致栈内存空间枯竭。下面我们来看...
C++中的函数重载

C++中的函数重载

C++中的函数重载2008-01-05 PConline 管宁函数重载是用来描述同名函数具有相同或者相似功能,但数据类型或者是参数不同的函数管理操作的称呼。我们来举一个实际应用中的例子来说明问题:我们要进行两种不同数据类型的和操作为了实现它,在c语言中我们就要写两个不同名称的涵数来进行区分例如:int testa(int a,int b)和float testb(float a,floatb),这样字是没有问题,但是总有一点不好,这么两个具备极其相似操作函...
C++中堆内存(heap)的概念和操作方法

C++中堆内存(heap)的概念和操作方法

C++中堆内存(heap)的概念和操作方法2008-01-05 PConline 管宁堆内存是什么呢?我们知道在c/c++中定义的数组大小必需要事先定义好,他们通常是分配在静态内存空间或者是在栈内存空间内的,但是在实际工作中,我们有时候却需要动态的为数组分配大小,在这里c库中的malloc.h头文件中的malloc()函数就为您解决了问题(bc或者是在老的标准中是alloc.h),它的函数原形是void* malloc(size_t size),在动态开辟...
C/C++中字符指针数组及指向指针的指针的含义

C/C++中字符指针数组及指向指针的指针的含义

C/C++中字符指针数组及指向指针的指针的含义2008-01-05 PConline 管宁就指向指针的指针,很早以前在说指针的时候说过,但后来发现很多人还是比较难以理解,这一次我们再次仔细说一说指向指针的指针。先看下面的代码,注意看代码中的注解:#include <iostream>#include <string>using namespace std;void print_char(char* array[],int len);...
C/C++是程序员必须掌握的语言吗

C/C++是程序员必须掌握的语言吗

C/C++是程序员必须掌握的语言吗2008-01-05滚滚长江东逝水,浪花淘尽英雄。虽说是个人英雄的时代已经成为过去,但我们仍然不能对这样的榜样们有所忘怀,他们是WPS求伯君、CCDOS严援朝、2.13吴晓军、四通利方王志东、CCED朱崇君、UCDOS鲍岳桥等。因为他们不仅是成名的优秀程序员,也不仅是在写文章时所必须想到的人物,更主要的是他们激荡了很多批程序员的热情,坚定了学会汇编和C就能走天下的决心和勇气,他们代表着以往中国软件业的辉煌。多年来,我们一直...
深入浅出Win32多线程程序设计综合实例

深入浅出Win32多线程程序设计综合实例

深入浅出Win32多线程程序设计综合实例2008-01-05 天极 宋宝华本章我们将以工业控制和嵌入式系统中运用极为广泛的串口通信为例讲述多线程的典型应用。而网络通信也是多线程应用最广泛的领域之一,所以本章的最后一节也将对多线程网络通信进行简短的描述。1.串口通信在工业控制系统中,工控机(一般都基于PC Windows平台)经常需要与单片机通过串口进行通信。因此,操作和使用PC的串口成为大多数单片机、嵌入式系统领域工程师必须具备的能力。串口的使用需要通过三...
C++语言学习之从结构到类

C++语言学习之从结构到类

C++语言学习之从结构到类2008-01-05 csdn 编程之前,有必要复习一下C++中面向对象的一些基本概念。我们知道,C++与C相比有许多优点,主要体现在封装性(Encapsulation)、继承性(Inheritance)和多态性(Polymorphism)。封装性把数据与操作数据的函数组织在一起,不仅使程序结构更加紧凑,并且提高了类内部数据的安全性;继承性增加了软件的可扩充性及代码重用性;多态性使设计人员在设计程序时可以对问题进行更好的抽象,有利...
<< 181 182 183 184 185 186 187 188 189 190 >>