- 浏览: 255977 次
- 性别:
- 来自: 宁波
最新评论
-
ydqwtt:
但是我的Java Source File中显示的是*.clas ...
MyEclipse6.5 注释乱码 -
BlueDream348:
谢谢。。收益了
SOAP -
2838938:
学习一下
Oracle监听器安装与配置 -
luorongda:
满足范式要求的数据库设计是结构清晰的,同时可避免数据冗余和操作 ...
数据库设计 -
meteormatt:
这篇文章写的不错.但是排版不怎么好.
Panel和PlaceHolder的区别
文章列表
一 概括
指针和引用,在C++的软件开发中非常常见,如果能恰当的使用它们能够极大的提高整个软件的效率,但是很多的C++学习者对它们的各种使用情况并不
是都了解,这就导致了实际的软件开发中经常会内存泄漏,异常抛出,程序崩溃等问题。对于C和C++的初学者,那更是被它们搞的迷迷糊糊。本篇作为[深入
C++]系列的第一节,我们就带领大家把指针和引用这个基本功练好。
二 指针
指针,指针的定义是什么呢?好像要想给个直接的定义还是很难的哦,所以我们这里用它的语法结合图来认识它。
int i = 10;int *p = NULL;p = &i;int j = *p; int **pP = ...
- 2009-04-30 09:51
- 浏览 924
- 评论(0)
从格式上看倒是与通过指针访问结构成员的不正规方法的格式一样。
所有的C/C++编译器在排列数组的单元时,总是把各个数组单元存放在连续的存储区里,单元和单元之间没有空隙。但在存放结构对象的各个成员时,在某
种编译环境下,可能会需要字对齐或双字对齐或者是别的什么对齐,需要在相邻两个成员之间加若干个 "填充字节
",这就导致各个成员之间可能会有若干个字节的空隙。
所以,在例十二中,即使*pstr访问到了结构对象ss的第一个成员变量a,也不能保证*(pstr+1)就一定能访问到结构成员b。因为成员a和成
员b之间可能会有若干填充字节,说不定*(pstr ...
- 2009-04-30 09:14
- 浏览 711
- 评论(0)
如果上例中,ptr是被减去5,那么处理过程大同小异,只不过ptr的值是被减去5乘sizeof(int),新的ptr指向的地址将比原来的ptr所指向的地址向低地址方向移动了20个字节。
总结一下,一个指针ptrold加上一个整数n后,结果是 ...
- 2009-04-29 20:19
- 浏览 684
- 评论(0)
指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。 要搞清一个指针需要搞清指针的四方面的内容:指针的类型
,指针所指向的类型
,指针的值或者叫指针所指向的内存区
,还有指针本身所占据的内存区
。让我们分别说明。
先声明几个指针放着做例子:
例一:
(1)int*ptr;
(2)char*ptr;
(3)int**ptr;
(4)int(*ptr)[3];
(5)int*(*ptr)[4];
指针的类型
从语法的角度看 ...
- 2009-04-29 19:49
- 浏览 623
- 评论(0)
指针学习不好关键是概念不清造成的,说的简单点就是书没有认真看,指针的学习犹如人在学习饶口令不多看多学多练是不行的,下面是两个很经典的例子,
很多书上都有,对于学习的重点在于理解*x和x的理解,他们并不相同,*x所表示的其实就是变量a本身,x表示的是变量a在内存中的地址
,如果想明白可以
输出观察cout<<*x"|"x;,当定义了int
*x;后对x=&a的理解的问题。仔细阅读和联系下面的两个例子我想指针问题就不是难点了!
#include <stdio.h>
main()
{
int
a,b ...
- 2009-04-29 19:33
- 浏览 733
- 评论(0)
C++中函数前面加关键字 inline ,表示该函数是内敛函数。
inline int Fun(int x)
{
return ((x > 5) && (x < 10)) ? x : 0;
}
注意此时头文件要用名字空间形式
#include <iostream>
using namespace std;
内敛函数的功能和宏定义(#define )差不多,即在编译阶段进行替换,减少运行时间,提高运行效率。区别是宏定义没有语法检查,内敛函数有语法检查,更不会出错!
宏展开只是简单的文本替换,有表达 ...
- 2009-04-29 19:20
- 浏览 912
- 评论(0)
第一个例子:
char* ss = "0123456789";
sizeof(ss) 结果 4 ===》ss是指向字符串常量的字符指针
sizeof(*ss) 结果 1 ===》*ss是第一个字符
char ss[] = "0123456789";
sizeof(ss) 结果 11 ===》ss是数组,计算到\0位置,因此是10+1
sizeof(*ss) 结果 1 ===》*ss是第一个字符
char ss[100] = "0123456789";
sizeof(ss) 结果是100 ===》s ...
- 2009-04-29 15:16
- 浏览 840
- 评论(0)
根本的一点,就是#define定义的其实是一个常数的名字,就是说你可以把这个名字等价于常数使用,在编译时会被编译器替换为该常数。之所以这么做,仅仅是为了提高可读性,但是安全性不能得到保证。
出于安全性的考虑,c++引入了const定义。当然这仅仅是const的功能之一。使用const,你可以定义一个不能修改其值的变量,也就是可以作为
一个常量来使用了。当然,这个量与100,'a'等还是有区别的。区别就在于这个量有自己的内存地址,是被分配了空间的。
总的说来,#define 没有给名字分配空间,仅仅是给一个常数起了一个名字。而const定义了一个其值不 ...
- 2009-04-29 14:50
- 浏览 2223
- 评论(0)
1. #define
首先请看以下程序:
#include <
stdio.h>
#define PERCENT 0.1
int main(void)
{
int income = 4000;
printf("%.2f", PERCENT * income);
return 0;
}
这个程序输出 400.00 。这是因为 #define PERCENT 0.1
定义了 ...
- 2009-04-29 14:38
- 浏览 706
- 评论(0)
main主函数执行完毕后,是否可能再执行一段代码??5 C x$ v- G9 A# K5 S2 y* I" M
书上说使用atexit函数注册一个函数.有一段代码:, R* v. @4 {% L$ ^
#include <iostream.h>1 |) s$ f/ _8 D! d( h/ K1 _
#include <stdlib.h>. A$ E. ?% g5 B
#include<stdio.h>5 T+ M4 e! h# j/ l
int atexit(void (*function)(void));3 x; F2 Y. ...
- 2009-04-29 14:22
- 浏览 972
- 评论(0)
1.怎么不用中间变量直接实现 数值交换?
假设a b 不等
a = a^b
b = b^a
a = a^b
首先肯定异或是满足交换律的。
由于a=a^b,这里的a有两层意思,所以我用c来表示a^b的值。而出现的a,都表示没有发生改变前的。
a = a^b // 这个相当于a=c。这在我的约定下没什么意义,只是表示a舍弃了a的值。而用于存c的值。
b = b^a // 这在我的约定下,相当于b=b^c,将c展开,有b=b^a^b=b^b^a(这交换律)用x^x=0的公式,立刻有b=0^a,再由公式二,有b=a。至此,b舍弃了b的值,用于存a的值了。
a = a^b // ...
- 2009-04-29 09:55
- 浏览 808
- 评论(0)
/* 螺旋队列
设1的坐标是(0,0),的方向向右为正,y方向向下为正,
例如,7的坐标为(-1,-1),2的坐标为(0,1)。
编程实现输入任意一点坐标(x,y),输出所对应的数字。
43 44 45 46 47 48 49
42 21 22 23 ...
- 2009-04-29 09:34
- 浏览 1504
- 评论(0)
在网页文件中调用CSS文件
CSS作为效率高、灵活性强而被广泛地应用于网页制作中。难得的是,CSS既可以以各种方式嵌入HTML文件中,也可以以文件的形式独立存在被而不同的HTML文件随时调用。本文将讨论CSS文件如何编写 ...
- 2009-04-20 19:40
- 浏览 1383
- 评论(0)
站点1:http://www.w3school.com.cn/h.asp
站点2:http://www.itsway.net/js/jsindex.aspx
- 2009-04-16 20:41
- 浏览 930
- 评论(0)
Facade
外
观模式,是一种结构型模式,它主要解决的问题是:组件的客户和组件中各种复杂的子系统有了过多的耦合,随着外部客户程序和各子系统的演化,这种过多的耦合
面临很多变化的挑战。在这里我想举一个例子:比如,现在有一辆汽车,我们(客户程序)要启动它,那我们就要发动引擎(子系统
1
),使四个车轮(子系统
2
)转动。但是实际中我们并不需要用手推动车轮使其转动,我们踩下油门,此时汽车再根据一些其他的操作使车轮转动。油门就好比系统给我们留下的接口,不论汽车是以何种方式转动车轮,车轮变化成什么牌子的,我们要开走汽车所要做的还是踩下油门。
GoF
《设计模式》中说道:为子系 ...
- 2009-04-14 19:15
- 浏览 1052
- 评论(0)