zorientowali się, próbując żeDlaczego warto korzystać z @property w D?
struct PropertyTest
{
@property int x() { return val; }
@property void x(int newVal) { val = newVal; }
void test()
{
int j;
j = x;
x = 5;
}
private:
int val;
}
robi dokładnie to samo, kiedy opuszczają @property
out. Wszystko kompiluje się dobrze. Po co więc deklarować funkcje jako @property
?
BTW, używam kompilatora dmd2.
W tej chwili kompilator jest bardziej permisywny niż może być w przyszłości. Oznaczanie modułów pobierających i ustawiających za pomocą @property jest dobrym sposobem na przyszły dowód. Aby zobaczyć, jaka może być przyszłość, skompiluj z -property. –