FDS>Как? Допустим, мне нужно точно сказать, что Class1 не осуществляет операций ввода-вывода. FDS>то есть мне нужно, чтобы компилятор это проконтролировал. Причём так, чтобы я сам не задумывался, куда этот Class1 обращается. FDS>·>Это как? Если у некоего кода нет доступа к некоему состоянию, то и изменить не может, доступа к приватным данным тоже нет (кроме как через публичные методы). Или иммутабельные объекты что-ли? FDS>У меня есть массив данных. Я его передаю в функцию вычисления хеша. Я хочу, чтобы этот массив не был изменён этой функцией. FDS>Мало того, функция не должна изменять никаких объектов в программе, кроме создания и изменения новых.