問題タブ [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.

0 投票する
3 に答える
2325 参照

c++ - スマート ポインターを使用して C の create および destroy 関数をラップする

オブジェクトの作成と破棄を処理する C API がいくつかcreateObject(...)ありdestroy(...)ます。より現代的な構築/破壊メカニズムにラップし、それらをスマートポインターで使用したいと考えています。ある時点でオブジェクトを破棄するのを忘れたり、何らかの例外が発生したりするのではないかと心配しています。

のカスタム削除関数を認識していますが、関数が初期化を処理するため、shared_ptr明示的に呼び出すことはできません。newcreateOjbect

この状況で STL スマート ポインターを使用できますか? この状況では、コンストラクターでの初期化、デストラクタでの破棄、および参照カウントを使用して、ゼロからクラスを実装する必要がありますか?

0 投票する
2 に答える
700 参照

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* パラメータを渡すにはどうすればよいですか?