О реализации GetBytes в BitConverter

Я обнаружил, что реализация функции GetBytes в платформе .net выглядит примерно так:

public unsafe static byte[] GetBytes(int value)
{
   byte[] bytes = new byte[4];
   fixed(byte* b = bytes)
     *((int*)b) = value;
   return bytes;
}

Я не уверен, что понимаю все подробности этих двух строк:

   fixed(byte* b = bytes)
     *((int*)b) = value;

Может ли кто-нибудь предоставить здесь более подробное объяснение? И как мне реализовать эту функцию в стандартном C ++?

6
задан M.Babcock 30 December 2011 в 01:25
поделиться