alias
與alias this
無關.
stack!
(point!
double
)randompoints
(size_t count)
可這樣:
長名,難讀,沒必要每個地點都詳細說明.如果改,也麻煩,到處改.
alias points = stack!
(point!
double);
// ...
points randompoints
(size_t count)
//還可以更進一步
alias precisepoint = point!
double
;alias points = stack!precisepoint;
語法如下:alias new_name = existing_name;
還有消歧
時很有用.為了更可讀:
alias customernumber =
int;
alias companyname = string;
// ...
struct customer
//--------
class
box//
// ...
}
子類會隱藏父類同名函式
class
super
}class
sub: super
//覆蓋的話,要加個`override`,才算覆蓋.
//加上下句
alias foo = super.foo;
//滿血復活
//或alias generalfoo = super.foo;//類似
}void
main()
這個特徵叫隱藏名稱
.不這樣的話,有可能你都不知道你呼叫了哪個父類的函式.錯都不知道哪錯了
,這是物件導向程式設計的特徵
隱藏名稱同樣會對成員變數
起作用:
class
super
class
sub: super
//屬性也可以隱藏父類名字
//加上這句
alias citycode = super.city;
}
with
用於簡化書寫.特別是對麻煩的構,賦值時.
struct s
void
main()
} with (s(
))//出來就沒了,不知道有啥用?
後面要講,用新
關鍵字,構建臨時變數來擴充套件生命期
在開關
語句中很有用:
enum color
// ...
final switch
(c) with (color)
with
移除對同一物件的重複引用.alias
別名. 05用d程式設計切片
切片,動態陣列的別名.起.尾 是這樣的 即左包右不包 切片不是實體,就像鑰匙一樣.如果切片修改實體,則實體也跟著變了.a.a 大小為0,a.表示陣列長度,等價於陣列.長度.dup複製實體.如下 import std.stdio void main 賦值 int 3 a 1 1,1 int 3 b 2...
06用d程式設計 串
最簡單定義 char是串,字元陣列 d有三種陣列型別.import std.stdio void main 用 c z 可以看到結果,否則 回車 沒用.readf不適合讀串,讀符就差不多了.readln適合讀串,就不需要 s及 運算子了.如下 import std.stdio void main 可...
08用d程式設計域
不能在內部域中定義與外部域中相同的名字.有的在域的最前定義變數 一般在使用前定義變數,而不是在之後.找不到,也不規範 最好在剛要使用前定義,在速度,不犯錯,可讀,維護上都不錯.import std.stdio void main i 10 i 在 中宣告多種型別變數 d官方程式設計風格 三元符.三個...