問題タブ [cross-language]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - スマート ポインターを使用して C の create および destroy 関数をラップする
オブジェクトの作成と破棄を処理する C API がいくつかcreateObject(...)ありdestroy(...)ます。より現代的な構築/破壊メカニズムにラップし、それらをスマートポインターで使用したいと考えています。ある時点でオブジェクトを破棄するのを忘れたり、何らかの例外が発生したりするのではないかと心配しています。
のカスタム削除関数を認識していますが、関数が初期化を処理するため、shared_ptr明示的に呼び出すことはできません。newcreateOjbect
この状況で STL スマート ポインターを使用できますか? この状況では、コンストラクターでの初期化、デストラクタでの破棄、および参照カウントを使用して、ゼロからクラスを実装する必要がありますか?
c# - C# の文字列のような変数を sbyte* パラメータに渡すにはどうすればよいですか?
次のように宣言された関数を使用して、関連するヘッダー ファイルを含む C++ DLL を継承しました。
上記のDLLをC#環境で使えるようにラップしたリファレンスVC++リファレンスクラスも継承しました
C# アプリケーションから func1_w(int i) を使用できますが、文字列を func2_w(sbyte* s) に渡す方法がわかりません: sbyte へのポインターを取得できないというエラーが表示されました。C# prject を unsafe として設定し、関数を unsafe として宣言しました。
関数 func2_w に sbyte* パラメータを渡すにはどうすればよいですか?