On Tuesday, 10 August 2021 at 11:05:53 UTC, Tejas wrote:
Also, I have read here a principle that

**If it looks like C, it behaves like C**

How true is that for C++? Does code that look like C++(minus obvious syntax differences) behave like C++?

No. D and C++ have different semantics for many things. One example is `const`. In C++, the following code is totally fine:

```c++
int n = 123; // mutable object
const int *p = &n; // const pointer
const_cast<int*>(p) = 456; // ok to mutate via p
```
However, the equivalent code in D is undefined behavior:

```d
int n = 123; // mutable object
const(int)* p = &n; // const pointer
cast(int*)p = 456; // not allowed to mutate via p
```

Reply via email to