自定义博客皮肤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)
  • 收藏
  • 关注

原创 C++派生类型的作用

在公有继承时,派生类的public,private,protected型的成员可以访问基类中的公有成员和保护成员,派生类的对象公可以访问基类的公有成员.在私有(private)继承时,派生类的public,private,protected型的成员函数可以访问基类公有成员和保护成员,但派生类的对象不可以访问基类的任何成员.Protected的继承方式与private继承相同.基类       

2006-09-30 11:40:00 2981

转载 常见内存错误大全

大内高手—常见内存错误转载时请注明出处:http://blog.csdn.net/absurd随着诸如代码重构和单元测试等方法引入实践,调试技能渐渐弱化了,甚至有人主张废除调试器。这是有道理的,原因在于调试的代价往往太大了,特别是调试系统集成之后的BUG,一个BUG花了几天甚至数周时间并非罕见。而这些难以定位的BUG基本上可以归为两类:内存错误和并发问题。而又以内存错误最为

2006-09-30 11:27:00 3239

转载 第九章。指针的安全问题

第九章。指针的安全问题 看下面的例子: 例十七: char s=a; int *ptr; ptr=(int*)&s*ptr=1298; 指针ptr是一个int*类型的指针,它指向的类型是int。它指向的地址就是s的首地址。在32位程序中,s占一个字节,int类型占四个字节。最后一条语句不但改变了s所占的一个字节,还把和s相临的高地址方向的三个字节也改变了。这三个字节是干

2006-09-29 13:20:00 2130

转载 第八章。指针类型转换

第八章。指针类型转换  当我们初始化一个指针或给一个指针赋值时,赋值号的左边是一个指针,赋值号的右边是一个指针表达式。在我们前面所举的例子中,绝大多数情况下,指针的类型和指针表达式的类型是一样的,指针所指向的类型和指针表达式所指向的类型是一样的。  例十四: 1。 float f=12.3; 2。 float *fptr=&f 3。 int *p; 在上面的例子

2006-09-29 13:19:00 3925 1

转载 第七章。指针和函数的关系

第七章。指针和函数的关系 可以把一个指针声明成为一个指向函数的指针。 int fun1(char*,int); int (*pfun1)(char*,int); pfun1=fun1; int a=(*pfun1)("abcdefg",7);//通过函数指针饔煤?  可以把指针作为函数的形参。在函数调用语句中,可以用指针表达式来作为 实参。 例十三: int fun(char*); i

2006-09-29 13:18:00 2269

转载 第五章。数组和指针的关系

第五章。数组和指针的关系 一、数组的数组名其实可以看作一个指针。看下例:  例1:  int array[10]={0,1,2,3,4,5,6,7,8,9},value;  value=array[0];//也可写成:value=*array;  value=array[3];//也可写成:value=*(array+3);  value=array

2006-09-29 13:17:00 3168 1

转载 第六章。指针和结构类型的关系

第六章。指针和结构类型的关系 可以声明一个指向结构类型对象的指针。 例十一: struct MyStruct { int a; int b; int c; } MyStruct ss={20,30,40};//声明了结构对象ss,并把ss的三个成员初始化为20,30和40。 MyStruct *ptr=&ss//声明了一个指向结构对象ss的指针。它的类型是MyS

2006-09-29 13:17:00 1672

转载 第四章。指针表达式。

第四章。指针表达式。 一个表达式的最后结果如果是一个指针,那么这个表达式就叫指针表达式。 下面是一些指针表达式的例子: 例六: int a,b; int array[10]; int *pa; pa=&a//&a是一个指针表达式。 int **ptr=&pa//&pa也是一个指针表达式。 *ptr=&b//*ptr和&b都是指针表达式。 pa=array;

2006-09-29 13:16:00 1763 1

转载 第三章。运算符&和*

第三章。运算符&和* 这里&是取地址运算符,*是...书上叫做"间接运算符"。 &a的运算结果是一个指针,指针的类型是a的类型加个*,指针所指向的类型是a的类型,指针所指向的地址嘛,那就是a的地址。 *p的运算结果就五花八门了。总之*p的结果是p所指向的东西,这个东西有这些特点:它的类型是p指向的类型,它所占用的地址是p所指向的地址。 例五: int a=12; int b; int

2006-09-29 13:15:00 1473

转载 第二章。指针的算术运算

第二章。指针的算术运算 指针可以加上或减去一个整数。指针的这种运算的意义和通常的数值的加减运算的意义是不一样的。例如: 例二: 1。 char a[20]; 2。 int *ptr=a; 3。 ptr++; 在上例中,指针ptr的类型是int*,它指向的类型是int,它被初始化为指向整形变量a。接下来的第3句中,指针ptr被加了1,编译器是这样处理的:它把指针ptr的值加上

2006-09-29 13:13:00 1762

转载 第一章。指针的概念

第一章。指针的概念 指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。指针也是一种数据类型,并且也是有值的。要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。 先声明几个指针放着做例子: 例一: (1)int *ptr; (2)char *ptr; (3)

2006-09-29 13:12:00 1764

原创 C++数据类型之二:指针

基本数据类型之二:指针一、指针:指针都有一个数据类型,指针的类型可以指示编译器怎么解释特定地址上内存的内容,以及该内存区域应该跨越过多少内存单元。ü         如果一个int 型的指针寻址到1000 内存处那么在32 位机器上跨越的地址空间是1000~1003ü         如果一个double 型的指针寻址到1000 内存处那么在32 位机器上跨越的地址空间是1000~

2006-09-29 11:24:00 3676

原创 C++数据类型之一:常量和变量

 C++数据类型之一:常量和变量一、文字常量:常量之所以称为“文字常量”,其中“文字”是指我们只能以它的值的形式指代它,“常量”是指它的值是不可变的。同时注意一点:文字常量是不可寻址的(即我们的程序中不可能出现获取所谓常量20的存储地址&20这样的表达式),虽然常量也是存储在内存的某个地方,但是我们没有办法访问常量的地址的。常量是有类型的:1、 字符型char:一个字节表示,通

2006-09-28 13:31:00 4282

转载 关于MIME的一些知识

MIME是一种技术规范,它原来是用于电子邮件的,现在也可以用于浏览器上,传送可以供浏览器识别的信息,关于MIME的知识并是十分难懂的,有一些基本的计算机概念就可以理解了,但如果要进一步使用,就必须注意内容。实际上,我们在上网的时候就已经接触到了MIME,只是浏览器和服务器在底层实现了。 MIME有时候被错误地理解为多媒体Internet邮件扩展(Multimedia Internet Mail E

2006-09-27 13:28:00 3131

转载 C/C++ 程序设计员应聘常见面试试题深入剖析

找错题  试题1: void test1(){ char string[10]; char* str1 = "0123456789"; strcpy( string, str1 );}   试题2: void test2(){ char

2006-09-19 17:33:00 3379

转载 帮你详细理解端口

一、什么叫端口号 端口号---具有网络功能的应用软件的标识号。注意,端口号是不固定的,即可以由用户手工可以分配(当然,一般在软件编写时就已经定义)。当然,有很多应用软件有公认的默认的端口,比如FTP:20和21,HTTP:80,TELNET:23等等,这里就不一一列举了。一个软件可以拥有多个端口号,这证明这个软件拥有不止一个网络功能

2006-09-14 11:49:00 8430 3

转载 Socket编程原理(2)

 Windows Socket 网络编程 —— 套接字编程原理 一、客户机/服务器模式在TCP/IP网络中两个进程间的相互作用的主机模式是客户机/服务器模式(Client/Server model)。该模式的建立基于以下两点:1、非对等作用;2、通信完全是异步的。客户机/服务器模式在操作过程中采取的是主动请示方式:首先服务器方要先启动,并根据请示提供相应服务:(过程如下)1、打开一通信通道

2006-09-14 11:27:00 1855

转载 Socket编程原理(1)

[精华] socket编程原理socket编程原理  socket编程原理  1 问题的引入  UNIX系统的I/O命令集,是从Maltics和早期系统中的命令演变出来的,其模式为打开一读/写一关闭(open-write-read-close)。在一个用户进程进行I/O操作时,它首先调用“打开”获得对指定文件或设备的使用权,并返回称为文件描述符的整型数,以描述用户在打开的文件或设备上进行I/O

2006-09-14 11:22:00 2560

转载 常用内存泄漏检测工具

 常用内存泄漏检测工具一、检测已经分配的资源:内存资源使用监听器,只能用在模拟器上:按键组合                            功能CTRL+ALT+SHIFT+A              显示已分配堆单元的数量CTRL+ALT+SHIFT+B              显示已分配的文件服务器资源的数量CTRL+ALT+SHIFT+C      

2006-09-12 15:34:00 3467

转载 使用日志类RFileLogger输出调试信息

使用日志类RFileLogger输出调试信息一、概述:类RFileLogger对应的头文件和库文件分别是flogger.h和flogger.lib。我习惯把opening代码放到我希望跟踪的class的ConstructL()函数里面,然后在析构函数里closing.在真正编码时,你最好检测一下Connect和CreateLog是否返回了KErrNone.二、使用:1、在类

2006-09-12 15:31:00 2051 1

原创 Symbian OS 之活动对象

Symbian OS 之活动对象一、概述:Symbian OS是一个多任务的操作系统,那么为了实现多任务,同时使系统能够快速响应,高效的进行事件处理,并减轻应用程序员的工作负担(申请大多数耗时的操作(例如文件系统)由服务提供器来完成,服务提供器完成程序员提交的请求后,将会返回给程序员一个成功或失败的信号。), Symbian OS特意引入了活动对象的概念。服务提供器API具有函数的异步

2006-09-12 15:27:00 3906 2

原创 Symbian OS异常三步曲之三:两段构造

Symbian OS异常三步曲之三:两段构造为了在堆上分配一个CExample对象内存空间,调用该类的构造函数,如果构造函数本身就异常退出了,那么分配给对象的内存和构造函数中已经分配的内存都将泄漏,因此,C++的构造函数绝对不能发生异常。如果,为了初始化一个对象,必须要编写发生异常的代码,例如内存分配或读取可能丢失的文件,损坏了的配置文件等,这时候,就需要使用两段构造了。一、两段构造的格式

2006-09-12 15:24:00 1561 1

原创 Symbian异常三步曲之二清除栈

Symbian异常三步曲之二清除栈一、为什么使用清除栈清除栈主要是用来处理在异常退出发生时那些或许可以称之为被遗弃或泄漏的内存。看下面的代码:void UnsafeFunctionL(){       CClanger* clanger = new(ELeave) CClanger();       clanger->InitializeL();       …….

2006-09-12 15:23:00 1817

原创 Symbian OS异常三步曲之一:异常退出(leave)

Symbian OS异常三步曲之一:异常退出(leave)Symbian的异常处理有别于标准C++的异常处理机制,主要原因是最初在设计Symbian的异常处理机制时,C++还没有引入异常处理,但是从Symbian OS 9.1开始,Symbian开始支持标准C++的try—catch异常处理机制,不过考虑到系统开销以及兼容性的因素,我们提倡使用Symbian特有的异常处理机制即异常退出。一

2006-09-12 15:13:00 1810

空空如也

空空如也

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

TA关注的人

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