問題タブ [unsafe-pointers]

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 投票する
1 に答える
368 参照

swift - UnsafeMutablePointer: リスクは何ですか?

Objective-C ライブラリからのコールバックで次のいずれかを受け取りました。UnsafeMutablePointer<UInt8>

私はそれを解析することができます。ライブラリに送り返すために作成することもできますが、「安全でない」タイプを使用するリスクは何ですか? これらのリスクを回避するにはどうすればよいですか?

また、Objective-C ライブラリはuint8_t *、Swift へのどのブリッジを使用していUnsafeMutablePointer<UInt8>ますか?これは Swift 相互運用に最適ですか?

0 投票する
1 に答える
224 参照

swift - UnsafeMutablePointer を型キャストする Swift の慣用的な方法非 void 型の配列に?

多くの C/Obj-C API は、void へのポインターを扱います。これらの型は通常、UnsafeMutablePointer または UnsafePointer (const void*) として表されます。これらの値を [Float] や [UInt8] などのパックされたデータ配列に再解釈する Swift の一般的な方法は何ですか?

0 投票する
1 に答える
899 参照

swift - UnsafeBufferPointer、またはバッファー ポインターの開始メモリ位置で使用されている UnsafePointer を解放する必要がありますか?

オブジェクトを 16 進文字列にシリアル化する次の拡張機能を検討してください。NSDataNSData

が非所有ポインターである場合、UnsafeBufferPointer明示的に破棄を呼び出す必要がない (またはできない) ことを意味しますか? UnsafePointerオブジェクトのバイトのメモリからを作成している場合NSData、バッファがコピーされた後にそのポインタを確実に破棄する必要がありますか?

0 投票する
1 に答える
593 参照

swift - UnsafePointer の作成方法既存の CGRect から

UnsafePointer を作成するには? let mediaBoxPtr = UnsafePointer(mediaBox) を試みましたが失敗しました

0 投票する
4 に答える
18682 参照

swift - UnsafeMutableRawPointer からバイトを取得するには?

C API (Core Audio など) によって Swift 関数に渡された UnsafeMutableRawPointer (Swift 3 の新機能) が指すメモリからバイト (または Int16、float など) にアクセスするにはどうすればよいですか?

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

swift3 - Swift 3 UnsafePointer($0) は Xcode 8 ベータ 6 でコンパイルされなくなりました

次のような私のコードスニペット…:

…私が理解できない次のエラーでコンパイルされなくなりました:

それを修正するにはどうすればよいですか?

0 投票する
1 に答える
175 参照

c# - クラスがジェネリックであるクラス定義の構造体へのポインターを宣言する

unsafeC# でorfixedキーワードを使用すると、アンマネージ型byte* int*などへのポインターを定義できます。アンマネージ型のみを含む構造体へのポインターも定義できます。次に例を示します。

ただし、がジェネリック クラス定義structで定義されている場合、 error が発生します。この制限の理由は何ですか?CS0208: Cannot take the address of, get the size of, or declare a pointer to a managed type

更新: このエラーは、含まれているクラスがジェネリックである場合にのみ発生します。エラーの理由はまだわかりません.ジェネリック型を参照していないため、コンパイラは構造体に常にアンマネージ型が含まれることを確認できますT

注:この機能は最終的なバージョンで C# に追加されるようです: GitHub でこの問題を参照してください。

0 投票する
1 に答える
2122 参照

swift3 - Swift 3 - c 構造体 sockaddr_in を CFData に変換する

あなたの助けが必要です。このコードは Swift 3 でコンパイルされなくなりました

「withUnsafePointer」の行を修正する必要がありますが、方法がわかりません。

私はこのようなことを試しました

コンパイラは withMemoryRebound を使用する必要があると言いますが、どのようにですか? ありがとう