2013-12-08 87 views
0

在初始化一個結構,我們可以去更新結構 - d編程語言

Foo a = {1, 7}; 

如何更新值作爲程序運行?

這些形式不起作用:

a = {2, 9}; 
a = {fst:2, snd:9}; 

是長的唯一途徑:

a.fst = 2; 
a.snd = 9; 

似乎效率不高。如果我們失去了會員呢?

+0

這工作。 a = Foo(2,9); –

+0

你應該把它放在答案中並接受它。另外,「低效率」是指運行時性能還是生產力?我無法想象它的運行速度比您提供的替代方案慢。 – rightfold

回答

1

你可以創建一個臨時的第二結構:

Foo b = {2,9}; 
a=b; 

或使用構造函數來創建臨時:

a = Foo(2,9);