请教 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
Global site tag (gtag.js) - Google Analytics