On Tuesday, 10 August 2021 at 21:19:39 UTC, Bastiaan Veelo wrote:
On Tuesday, 10 August 2021 at 16:00:37 UTC, Tejas wrote:
Basically, what are the subtle gotcha's in the differences between C++ and D code that looks similar

The only gotcha that comes to my mind is that `private` means private to the module in D, not private to the aggregate.

— Bastiaan.

A few others that I know:

When importing one module(say ```m2```) into another (say ```m1```), the symbols of ```m1``` aren't automatically visible in ```m2```. You must import ```m1``` in ```m2``` for that.

You can't just initialize variables willy-nilly in a module, you must do them inside ```static this()```

Method function pointers don't exist in D, equivalent functionality is achieved by using a delegate that captures the context of a class instantiated object.

To use a function pointer explicitly, you can't just write ```(func)(arguments)```, it is ```(&func)(arguments)```(thank you evilrat)

```sizeof/alignof``` differs in D and C++(thank you evilrat)

Reply via email to