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?