Я обнаружил, что реализация функции 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 ++?