Интересует это потому что в С++ везде указатели и ничего страшного, вроде бы, не происходит, а в C# нужно обязательно писать, что это unsafe код. Т.е. есть ситуация - у меня есть класс с 150 переменными (int), я хочу непосредственно эти переменные менять, передавая её в другой класс, типа так:
void IncFirst(){
Storage.firstValue++;
}
Т.е. я взял и в функции указал непосредственно где находится объект, НО мне что, 150 функций таких писать чтобы обновлять каждый? Это же бред.
По логике можно сделать так:
void Inc(int* value){
value++;
}
Итого нам хватит одного метода на любое кол-во переменных, но чтобы использовать указатель нужно включить небезопасный код, но, как я понял, он несет в себя ряд проблем, таких как не подлежит отладке (насколько я помню). И везде пишут что это "Очень опасно" и "Небезопасно", хотя, в чем тут реально есть опасность? Есть, например такая фраза из статьи по теме: "Прямое использование указателей
отключает систему безопасности", - что это за система безопасности-то? Т.е. не пишет сообщения об ошибках в таком коде или что?
В общем, вопрос в целом такой: в действительности unsafe код так небезопасен и страшен, как его рисуют?