请教 D语言怎么防止函数参数被修改
tomqyp
2007-02-14
类似C++ void f(const char* p){},这样的功能D语言应该怎么做到呢
|
|
ideage
2007-02-14
使用 契约设计 可以吧. 不变量.
http://www.digitalmars.com/d/dbc.html |
|
tomqyp
2007-02-15
哦 对对对,只知道学,不知道学以至用 谢谢 :)
不过 这样感觉就好像没有const方便了 |
|
qiezi
2007-02-15
D不支持这种做法,除了C/C++以外,大部分语言也不支持。
|
|
oldrev
2007-02-24
in, out, inout
|
|
ideage
2007-02-25
in 可以解决你的问题!!简单易行.
|
|
tomqyp
2007-02-26
哦 对哈,谢谢
大家新年好哈 |
|
qiezi
2007-02-27
in还是达不到C++的const作用的,它只能保证在对这个参数赋值时,不改变原有对象(这一点现在有了opAssign可能也不能保证了),对于其它方法调用则不能有任何保证。
|
|
oldrev
2007-02-27
楼上说的对,const不再是类型了,而是attribute,D中的const只能用于定义常量。
foo(const char* str) 这样的用法是C/C++,不是D |
相关讨论
相关资源推荐
- @OneToMany级联删除
- hibernate annotation一对多 级联删除
- hibernate的关联与级联
- hibernate mysql annotation_Hibernate基于注解annotation的配置
- hibernate mysql annotation_Hibernate Annotation (Hibernate 注解)
- Hibernate 注解(Annotation) 的配置
- hibernate annotation
- Hibernate.Annotation注解
- springboot jpa 至 one to many的级联关系
- Hibernate Annotation使用