Using shared pointers with MATLAB Coder

5 visualizzazioni (ultimi 30 giorni)
Pedro Calorio
Pedro Calorio il 12 Apr 2021
Risposto: SACHIN KHANDELWAL il 23 Gen 2025
Hello guys,
My question is actually pretty straightforward. How do I use shared_ptr with generated C++ code from MATLAB? For example, I can pass a shared_ptr instead of a regular ptr to MATLAB-generated functions? If yes, how?
My first thinking is that I would have to change it manually in the function declaration, but I believe I could be so susceptible to errors this way.

Risposte (1)

SACHIN KHANDELWAL
SACHIN KHANDELWAL il 23 Gen 2025
For smart pointers, while MATLAB Coder doesn't generate shared or unique pointers, it can wrap dynamic memory allocation in a more modern interface that guards calls to "new" with a wrapper called coder::array. This should be safer than emxArrays. You can do this by setting DynamicMemoryAllocationInterface to 'C++' which should be the default when generating C++ code.

Categorie

Scopri di più su MATLAB Coder in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by