On Thursday, 27 June 2019 at 05:57:49 UTC, evilrat wrote:
On Thursday, 27 June 2019 at 05:37:08 UTC, ChangLoong wrote:
If I want call cpp class constructer without new method, is there a way to do that ?

If what you really want is to actually allocate using C++ new operator from D, then that is very problematic and not portable even across compilers on same OS.

If C++ side has poor design around this specific issue and expects passed object to be delete'd (using the C++ delete operator) later then you are in trouble. In that case you have to make simple wrapper on C++ side to be able to call new/delete from D.

I though support for C++ allocation had improved. In a recent release, there was the addition of core.stdcpp.new, but I didn't try it out:
- http://dpldocs.info/experimental-docs/core.stdcpp.new_.html
- https://en.cppreference.com/w/cpp/memory/new/operator_new

Are there still pitfalls to be wary of?

Reply via email to