What are the pros/cons of the following approaches ?

```d
/// first day with D:

public const dstring gstrWhatever = "...";

/// next:

public immutable dstring gstrWhatever = "...";

/// next:

public immutable dstring gstrWhatever;

this() {

   gstrWhatever = "...";

}

/// next (manifest-constant):

public immutable enum gstrWhatever = "...";
```

Are manifest-constants the proper way to go ?

In [http://ddili.org/ders/d.en/enum.html] Ali says:

"We have discussed that it is important to avoid magic constants and instead to take advantage of the enum feature ..."

```d
enum fileName = "list.txt";
```

"Such constants are rvalues and they are called manifest constants."

"It is possible to create manifest constants of arrays and associative arrays as well. However, as we will see later in the Immutability chapter, enum arrays and associative arrays may have hidden costs."

Reply via email to