Почему IsConst испускается дважды в char * const a

Я разобрал следующий код C++/CLI в ildasm:

Managed(char * const a)
{

}

и разобранный ИЛ выглядит так:

.method public hidebysig specialname rtspecialname 
        instance void  .ctor(int8 modopt([mscorlib]System.Runtime.CompilerServices.IsSignUnspecifiedByte)* modopt([mscorlib]System.Runtime.CompilerServices.IsConst) modopt([mscorlib]System.Runtime.CompilerServices.IsConst) a) cil managed

Удаление некоторых незначительных частей:

.method public hidebysig specialname rtspecialname 
        instance void .ctor(int8* modopt(IsConst) modopt(IsConst) a) cil managed

Так что пока есть только один const в исходном коде он дважды выдается в IL. Почему это так?

0 ответов

Другие вопросы по тегам