自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(24)
  • 收藏
  • 关注

原创 成员函数指针的使用

#include "iostream.h"class Test{private: int m_nCount;public: Test() {  m_nCount = 0; } void Change() {  m_nCount++;  cout  }};//定义了一类函数指针typedef void (Test::*AFX_PFN)(void);int main(){ Test t; AFX_

2010-04-01 16:26:00 181

原创 学习中的小感悟

从前总听说MFC开发就像堆积木,很简单,很容易上手;但是,今天我终于知道了从C-->C++-->VC++学习和直接使用MFC开发的区别,那就是:前者知道如何将程序合理的搭建起来,也许仅仅是简单的功能实现,但是可以做到井井有条,甚至可以做到每个变量的定义,每个变量的命名都有其特殊的含义,甚至可以为以后工程的扩展流出很好的借口,不仅仅局限于实现功能;而后者呢,也许也能实现相应的功能,但是他仅仅是简单的

2010-03-17 08:46:00 264

转载 心灵是自我作主的地方。在心灵中,天堂可以变成地狱,地狱可以变成天堂

我们的生活,是由自己选定的,不管是有意或是无意。如果我们选择幸福,我们会得,到;如果我们选择悲惨,我们也会得到。在上一章中,我们已经知道,信念是卓越的根基,而我们的信念,就是构成我们能以特别的、前后一致的方式去认识一切。信念是对生命认知、生活方式所做的最基本选择,教我们如何开启和关闭自己的思绪。因此,要迈向卓越的第一步,就是要找出能引导我们迈向心愿的信念。   成功之道包括知道自己的目标、全盘的做

2010-02-23 11:07:00 1880

转载 令人感动的一刻

有一个男孩利用体育课同学们都不在时在女孩书里夹了张字条,上课女孩翻书时发现了字条,上面写着一行字:我对你的爱净重21克。女哭了,哭的很伤心,她向男孩吼到:你知不知道我有多爱你,我对你我可以放弃我的生命,而你,对我的爱却只有21克。女孩哭这跑了出去,男孩并没有追出去,因为男孩太爱女孩,他不想让女孩受到一点点的伤害,他明白自己还不能给女孩幸福,必境他什么还不是。 天真的女孩哭了整个晚上,第二天她找到她

2010-02-23 10:46:00 268

转载 程序员常见错误

“创业”的字典解释为:创业是是指某个人发现某种信息、资源、机会或掌握某种技术,利用或借用相应的平台或载体,将其发现的信息、资源、机会或掌握的技术,以一定的方式,转化、创造成更多的财富、价值,并实现某种追求或目标的过程。那么对于有创业理想的人们最常犯的错误有哪些呢?一名风险投资人做出了总结,总共十条。错误一:懂得的知识比认识的人重要你一直都拒绝否认这一点。从小到大,你都相信聪明比什么都重

2010-02-23 08:56:00 288

原创 有关线程与进程的基础与理解

1.线程是执行线程的简称,线程函数是线程的一个执行事实,线程函数的执行期,也就是该线程的生命期。2.相关的几个名词:Process Database(PDB):进程数据结构;Module Database(MDB):模块数据结构;Thread Local Storage(TLS):线程局部存储;Thread Database(TDB):线程数据结构。3.模块:系统构建的一个

2010-02-18 08:31:00 236

原创 变量

1.变量的作用域分为:文件作用域,函数作用域,代码块作用域,原型作用域。2.变量的链接属性:external(外部)全局普通变量                 internal(内部)全局静态变量               none(无连接)局部变量   extern  static用于在声明中修改标识符的链接属性。3.变量的存储类型指的是存储变量的值的内存类型。共有三种内存类型:

2010-02-13 00:09:00 258 1

原创 函数补充

1.当程序调用一个无法见到原型的函数时,编译器为该函数返回一个整形值。对于那些并不返回整形值的函数,这种认定可能会引起错误。2.如果函数体内没有任何语句,那么该函数就称为存根,它用于测试不完整的程序。3.切记,最好将函数原型放于一个头文件中。

2010-02-12 23:35:00 175

原创 函数(为什么将函数的原型放入头文件)

函数的定义实际就是函数体的一个实现。函数体就是一个代码块,它在函数被调用时执行。与函数定义相反,函数声明出现在函数被调用的地方,函数声明向编译器提供该函数的相关信息,用于确保函数被正确地调用。1.函数原型具有文件作用域,所以原型的一份拷贝可以作用于整个源文件,较之在该函数每次调用前单独书写一份函数原型要容易的多。2.函数原型只书写一次,就不会出现多份原型的拷贝之间的不匹配的现象。3.如

2010-02-12 23:22:00 341

原创 指针小问题

1.只有当两个指针都指向同一个数组中的元素时,踩允许一个指针减去另一个指针。2.C标准允许指向数组元素的指针与指向数组最后一个元素后面的那个内存位置的指针进行比较,但不允许与指向数组第一个元素之前的那个内存位置的指针进行比较。3.指针变量同其他变量并没有区别,如果变量是静态的,它会被初始化为0,但如果变量是自动类型的,它根本不会被初始化。4.无论是程序员还是计算机都无法通过计算机内存值

2010-02-12 22:40:00 206

原创 有关sizeof的问题

大部分编译程序在编译的时候,sizeof就被计算过了,这就是sizeof(X)可以用来定义数组维数的原因。strlen的结果要在运行的时候才能计算出来,它用来计算字符串的长度,不是其类型占内存的大小;sizeof后的操作数如果是类型,必须加括号;如果是变量名,可以不加括号。这是因为sizeof是操作符,而不是函数。

2010-02-12 17:23:00 167

原创 静态函数与普通函数

static函数和普通函数的区别:static函数在内存中只有一份,普通函数在每个被调用中维持一份复制品。

2010-02-12 17:21:00 280

原创 有关于预处理的问题

欲处理是指通过欲处理的内建功能对一个资源进行等价替换,最常见的欲处理有:文件包含(#include),条件编译(#ifdef #else等),布局控制(#pragma)以及宏替换(#define)。使用#把宏参数变为一个字符串;用##将多个宏参数合成一个标识符。宏定义的生存周期仅限于编译期。 

2010-02-12 17:14:00 171

原创 C语言中不支持重载,而C++支持

C中相同函数名经过编译生成的函数名相同,而C++中,相同函数名函数,经过编译生成的新的函数名还加入了参数类型和参数个数。

2010-02-12 17:09:00 162

原创 转化问题

1.在赋值表达式中,右边表达式的值自动隐式转换为左边变量的类型,并赋给左边变量;2.在函数调用时,将实参值赋给形参,系统隐式地将实参转换为形参的类型,并赋值给形参;3.程序在执行算术运算时,低类型自动隐式转为高类型;4.函数有返回时,系统自动将返回表达式类型转为函数类型,并赋给调用函数;5.当在程序中发现两个数据类型不相容时,又不能自动完成隐式转换,则出现编译错误。

2010-02-12 16:51:00 175

原创 c++中的虚函数表

为了达到动态绑定的目的,C++编译器通过某个表格,在执行期“间接”调用实际上想要绑定的函数。这样的表格称为虚函数表。每个“内含虚函数的类”,编译器都会为它作出一个虚函数表,表中的每一个元素都指向一个虚函数的地址。此外,编译器淡然会为类加上一项成员变量,是一个指向该虚函数表的指针。虚函数表的内容是依据类中的虚函数声明次序,一一填入虚函数指针。派生类会继承基类的虚函数表。虚函数表指针地址在对象空间

2010-02-12 08:35:00 171

原创 句柄与指针的区别

指针对应着数据在内存中的地址,利用指针可以自由地修改数据。windows并不希望程序修改其内部数据结构,因为这样太不安全。所以windows给每个使用globalAlloc等函数声明的内存区指定一个句柄,即指向指针的指针。句柄和指针都是地址,不同如下:1.句柄所指可以是一个复杂的结构,并且可以与系统有关,例如:线程的句柄,它可以指向一个类或结构,而且和系统有密切的关系,当一个线程由于不可预料的

2010-02-12 08:24:00 191

原创 句柄

句柄地址(稳定)-->记载对象在内存中的地址;对象在内存中的地址(不稳定)-->实际对象。但是程序每次重新启动,系统分配给程序的句柄并不一定还是原来的句柄,而且绝大多数情况不是不一样的。

2010-02-12 08:17:00 148

原创 c++眼中的this指针

在c++中,对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果。this指针的作用域是类内部,在类的非静态成员函数中访问类的非静态成员时,编译器会自动将对象地址作为一个隐含参数传递给函数。

2010-02-12 08:10:00 155

原创 常量指针与指针常量

常量指针:是一个指向常量的指针。指针常量:他首先是一个常量,然后才是一个指针。

2010-02-12 08:07:00 143

转载 引用与指针的区别

1.初始化要求不同。引用在创建的同时必须初始化,而指针在定义的时候不必初始化,可以在定义后面的任何地方重新赋值;2.可修改性不同。引用一旦被初始化,就不能被另一个对象引用了,而指针在任何时候都可以指向另一个对象;3.不存在NULL引用。引用不能使用指向空值的引用,必须指向某对象;而指针可以是NULL,不需要总是指向某些对象,可以把指针指向任意对象,所以指针更加灵活,也容易出错。4.

2010-02-11 21:28:00 165

原创 线程优先级问题

线程的优先级取决与创建他的进程的优先级和他在该进程内的相对优先级。由以上两点,加上系统的调配,从而使在某一时刻,每个线程在系统中有一个绝对的优先级,从而,同一时间,对于单核CPU来说,只执行优先级最高的线程,又由于系统的调控,使线程的绝对优先级改变,从而实现了线程间的切换,即而实现了多线程,也就是类似于以前的多任务。

2010-02-11 14:08:00 133

原创 数组名与指针的不同

当用sizeof求数组的大小时,返回的是整个数组的大小,而用sizeof求指针的大小时,只与开发平台有关,即如果是微软的平台的话,无论是什么类型的指针大小都是4;第二是数组名作为形参时,数组名会被转成一个普通的指针,这是编译器的一种优化,因为我们用4字节指针可以解决的问题,不需要创建同原数组等大的数组来拷贝原数组的内容,只需要一个指针指向原数组的空间即可。 

2010-02-11 13:59:00 168

原创 NULL指针与空指针

NULL在C语言中是一个宏,他的大小是0,表示地址中为0的那快地址;而空指针指的是指向为空的指针,即一个指针,指向NULL所表示的地址。

2010-02-11 13:54:00 176

空空如也

空空如也

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

TA关注的人

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