Using shared pointers with MATLAB Coder

5 ビュー (過去 30 日間)
Pedro Calorio
Pedro Calorio 2021 年 4 月 12 日
回答済み: SACHIN KHANDELWAL 2025 年 1 月 23 日
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.

回答 (1 件)

SACHIN KHANDELWAL
SACHIN KHANDELWAL 2025 年 1 月 23 日
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.

カテゴリ

Help Center および File ExchangeMATLAB Coder についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by