[疑难] 两个小问题
soulmachine
2007-09-28
1. 除了const,定义常量还有几种方法?
2. C++中的引用,在D中怎么表示?如下C++代码, int i; int &j = i; 怎么转换成D? |
|
tomqyp
2007-09-28
2. alias i j;
如果是函数要返回引用类型的话,要么用指针,要么把返回值用类包装一下. |
|
zcpro
2007-09-28
引用和指针本来就是重复的,底层实际都是指针,所以d里没有显式的引用。
|
|
oldrev
2007-09-28
1. invariant/const/final 参见 D2.0 文档
2. 对值类型没有显式引用 |
|
soulmachine
2007-09-28
alias有时的确像引用。不过我提个更具体的问题吧:
int test(T&); //T是一个类 int test(char&); 如何把这两个函数写成D的形式? |
|
heroboy
2007-09-28
int test(inout T);
int test(inout char); 好像是这样吧 |
|
soulmachine
2007-09-28
D中没有sizeof运算符,怎么获得一个类或结构的大小?
D中的new怎么用?比如C++的代码: T *pt = new T(); 怎么改成D的形式? 我只在文档上见过用new分配数组,却没见过分配类。 |
|
heroboy
2007-09-28
in D:
class A { } writefln(A.sizeof); A pa = new A; |
|
oldrev
2007-09-28
这些问题文档里都有记载:
1. 所有类型都有 .sizeof 属性 2. 类是透明引用类型,不需要指针。 T obj = new T; |
|
soulmachine
2007-09-29
谢谢各位!又有问题如下,希望各位解惑:
1. 怎么返回一个引用? 比如C++的函数: string& copy(void); 该怎么写成D 的形式,我曾试图改成 ref string copy(void); 编译器报错 2.类的成员函数貌似只能在类里面定义,不能象C++可以在类的外面实现,是这样吗? 3.in 象C++的默认传值调用,ref相当于C ++的引用,out比ref多了一点东西,就是在调用函数时out参数都会被设置为默认值,我的理解对否? to oldrev: 1.invariant/const/final 有什么区别? 2.类是透明引用类型,你的意思是D中对类类型默认是引用的,比如: int test(T t);//T是一个类 这个函数调用是是用引用的吗?而不是象C++那样的传值调用 |
相关讨论
相关资源推荐
- workman:工人键盘布局
- 高效率键盘布局Workman
- Workman键盘布局
- workman安装以及使用
- 说说qwerty、dvorak、colemak三种键盘布局
- struts+ajax返回json数据类型的各种情形及对应的Demo
- ajax注解解决中文乱码,基于注解的简单MVC框架的实现,以及jquery,prototype,ajax传输乱码问题的一点解决方法...
- js获取URL参数以及Struts2与ajax json的交互
- prototype.js ajax.request,prototype.js之ajax.request学习笔记(一)
- struts2中使用JSON插件实现AJAX