LINUX.ORG.RU

История изменений

Исправление mersinvald, (текущая версия) :

проблема с unsafe в том, что он вообще говоря позволяет двум разным библиотекам иметь общие instance-переменные, что не позволяет даже ооп

Минуууточку, растовская система типов тоже как бы этого не позволяет, но в ансейфе есть возможность обходить (почти) любые ограничения.

Так и ООП в C++ ничего не позволяет, но почему-то можно сделать так:

class A {
    int private_val;
}

class B {
    void break_A(A* a) {
        *(int*)(a) = 0; 
    }
}

Исходная версия mersinvald, :

проблема с unsafe в том, что он вообще говоря позволяет двум разным библиотекам иметь общие instance-переменные, что не позволяет даже ооп

Минуууточку, растовская система типов тоже как бы этого не позволяет, но в ансейфе есть возможность обходить любые ограничения.

Так и ООП в C++ ничего не позволяет, но почему-то можно сделать так:

class A {
    int private_val;
}

class B {
    void break_A(A* a) {
        *(int*)(a) = 0; 
    }
}