Почему 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. Почему это так?