DMD 1.011 发布
qiezi
2007-04-12
我也觉得,为什么要改成ref呢?难道还要用在其它地方?不过class本来就是ref亚
|
|
oldrev
2007-04-12
soulmachine 写道 我一直没弄明白in,out,inout的区别,干脆不用。这个ref代替了inout,那么in,out还有用武之地吗?有人可以给个示例代码否?
out,inout,ref 类似于 C++ 的引用 |
|
qiezi
2007-04-12
out和引用还是有点区别的。对out参数读取值得到的是空指针(或是其它各类型默认值)
|
|
Colorful
2007-04-12
我是感觉在语法上跟Java,C#走的越来越近了。
我猜测in,out关键字应该是不会更改了吧。 我还是比较喜欢inout多过ref,虽然表达的是一个意思,但是似乎跟in,out不一致了,一下子还真不好转过弯来。inout比ref好理解多了。 |
|
oldrev
2007-04-12
ref 可不可以显式使用:
struct Foo { ... } Foo x; ref Foo y = &x; |
|
Colorful
2007-04-12
我的理解是这样:
ref纯粹表达引用的概念,而out的参数我们应该在方法体内进行初始化。 我认为大多数情况ref足够可以解决相关问题了。 |
|
qiezi
2007-04-12
oldrev 写道 ref 可不可以显式使用:
struct Foo { ... } Foo x; ref Foo y = &x; 这个没有必要吧? Foo* y = &x; y.xxx 不是一样使用嘛。 |
|
oldrev
2007-04-12
qiezi 写道 oldrev 写道 ref 可不可以显式使用:
struct Foo { ... } Foo x; ref Foo y = &x; 这个没有必要吧? Foo* y = &x; y.xxx 不是一样使用嘛。 虽然指针和引用本质上是一样的,但是毕竟表示了两种不同的语义,比如函数可以返回引用就可以作为左值了 |