タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

programmingとpointerとGCに関するItisangoのブックマーク (2)

  • fixed ステートメント - 移動可能な変数をピン留めする - C# reference

    fixed ステートメントは、ガベージ コレクターが移動可能な変数を再配置するのを防ぎ、その変数へのポインターを宣言します。 固定変数または固定変数のアドレスは、ステートメントの実行中に変更されません。 宣言されたポインターは、対応する fixed ステートメント内でのみ使用できます。 宣言されたポインターは読み取り時のみであり、変更できません。 unsafe { byte[] bytes = [1, 2, 3]; fixed (byte* pointerToFirst = bytes) { Console.WriteLine($"The address of the first array element: {(long)pointerToFirst:X}."); Console.WriteLine($"The value of the first array element: {*po

  • 安全でないコード、データへのポインター、および関数ポインター - C# reference

    ポインター関連演算子の詳細については、「 ポインター関連の演算子」を参照してください。 ポインター型は、暗黙的に void* 型に変換できます。 ポインター型には、 null値を割り当てることができます。 キャスト式を使用して、任意のポインター型を他のポインター型に明示的に変換できます。 任意の整数型をポインター型に変換することも、任意のポインター型を整数型に変換することもできます。 これらの変換には、明示的なキャストが必要です。 次の例では、 int* を byte*に変換します。 ポインターが変数の最下位のアドレス指定バイトを指していることに注意してください。 結果を連続してインクリメントすると、 int のサイズ (4 バイト) まで、変数の残りのバイトを表示できます。 int number = 1024; unsafe { // Convert to byte: byte* p =

    Itisango
    Itisango 2020/10/21
    "To maintain type safety and security, C# does not support pointer arithmetic, by default. However, by using the unsafe keyword, you can define an unsafe context in which pointers can be used. For more information about pointers, see Pointer types." #dotNet
  • 1