2
據我所知,D中的地圖具有價值語義。D中關聯數組的穩定性
如果是這樣,爲什麼在這個例子中,第二行失敗
const(uint[ubyte]) x;
uint[ubyte] y = x;
爲
Error: cannot implicitly convert expression (x) of type const(uint[ubyte]) to uint[ubyte]
當兩個鍵和值也有值語義?
嗯,我必須在我的值語義測試中弄錯自己。現在我必須將所有'x = y'改爲'x = y.dup'。謝謝。 –
現在自然的問題變成了;是否有一個特徵來檢查一個類型是否有值或引用語義? –
Phobos中是否有一些實用函數總是創建一個類型的新副本(靜態,動態和關聯數組)?我相信在我的模板中使用.dup是因爲當x和y都是靜態數組(相同大小)時執行'y = x.dup'不會做正確的事情;它會在中間創建一個不需要的動態數組副本,對吧?或者DMD足夠聰明地優化掉動態數組? –