Mirror驱动在win8上不是失效,只是默认没有安装,还是可以用的
正在学习四叉树LOD,同求一份代码,多谢~~~
423322338@qq.com
re: C++文件操作[未登录] q 2012-06-26 15:03
谢谢
re: 简陋的C++画图程序[未登录] q 2011-04-25 14:56
写的不错
re: Dijkstra算法[未登录] Q 2009-10-01 03:01
请问可以告诉我 INT_MAX是什么
看了这位老兄的东西
自叹不如,
也有很多的感慨.
祝你越走越好
re: swap()引起的指针思考 Q 2006-05-31 23:39
我想我是明白你的意思了。其实我们说的都是一样的,swap里的int *x,*y是临时的。只要不对指针所指向的值做更改,在swap里无论怎么更改x,y的值,对于外部来说,都是徒劳的。不知道你是不是也是这个意思?
re: swap()引起的指针思考 Q 2006-05-26 15:10
任我行兄如果有兴趣的话,我们可以继续讨论 :)
方法三:
通过int *&x,int *&y
&的作用和指针一样,但是它是直接作用于实参x,y上(在本例中)
p=x;
x=y;
y=p;
这个时候在swap()中的操作其实是完全对实参x,y的操作了,也就是把外部x,y所指向的地址相互交换了一下。所以,在main()中使用*x,*y得到的结果为2,10的时候,其实使用了上面临近评论里的意思:用了个障眼法!其实这个时候在main()中的*x,*y好比之前真正的*y,*x(说白了a,b所在地址和数值完全没改变)不知道任我行兄能否理解我的意思?
re: swap()引起的指针思考 Q 2006-05-26 14:33
继续。
方法一:
p=x;
x=y;
y=p;
cout<<*x<<" "<<*y<<endl;
//得出的结果为 2,10
//那是因为x,y交换了分别指向的地址而已,所以从表面上看以为是更改了a,b地址的内容,其实什么也没变,现在的*x其实就是之前的y指向地址的实际数值,同样y也是
re: swap()引起的指针思考 Q 2006-05-26 14:23
是我没有说明白,方法一交换了地址,不过是交换了零时值而已,不会影响到外面。
---------------------------------------------------
方法一并没有交换临时数值(我说的这个临时数值不是a,b的地址,而是a,b的实际数值)。临时指针x,y可以指向任何地址,也就是说现在x指向a所在地址,等下也可以指向b所在地址,有什么关系呢?我x不解引用,不做为右值,那就不会改变a,b所在地址内的实际数值。
re: swap()引起的指针思考 Q 2006-05-26 14:19
“怎样利用swap(int *x,int *y)交换x,y指向的地址值”,也就是a,b的内存地址。
你能交换a,b的内存地址么,不能。你要交换的是x,y的值。而不是交换a,b内存的值。
--------------------------------------------------------
不明白你的意思?
但是我想说下,如果方法四中不是交换了a,b的内存值,那你看到的会是什么结果?
re: C++阅读渐进书目 Q 2006-05-26 11:39
如果我有时间,我一定要把这些书全部读完~
re: swap()引起的指针思考 Q 2006-05-26 11:25
这也就是方法四能够正确执行的原因:只要临时指针x没有解引用,没有对所指向的地址的内容进行操作,则不管x 指向哪里,以前地址里的内容仍然不会改变!
re: swap()引起的指针思考 Q 2006-05-26 11:24
to 任我行:
我说的交换地址是指 “临时指针x,y所指向的 a,b的内存地址”,并非“指针x,y的地址!”。从方法一中可以看到,临时指针x起先指向a的地址,之后改为指向b的地址,指针的特性就是可以指向任何地址,但是只要临时指针x没有解引用,没有对所指向的地址的内容进行操作,则不管x 指向哪里,以前地址里的内容仍然不会改变:a的数值仍然是以前的,b的数值也仍然是以前的。
re: 泛型算法 Q 2006-03-10 12:06
呵呵,能做个连接吧?我也是个新手,也正在看C++ Primer,希望能和你做个朋友,共同进步~~~
re: 我的博客生涯 Q 2006-03-06 13:10
呵呵,大家一起进步,我也是才接触C++没多久,其实是间断性的学的。。。呵呵