Допустим, у меня есть объект с целочисленными переменными экземпляра и 1 функцией-членом. Функция выполняется в отдельном потоке и постоянно обновляет значение переменной экземпляра. У меня есть вторая функция (часть другого класса), которая также выполняется в отдельном потоке, и требует доступа в реальном времени к переменной целочисленного экземпляра в первом объекте. Поэтому я передаю указатель на переменную экземпляра второй функции, а вторая функция просто разыменовывает указатель. Таким образом, вторая функция всегда имеет доступ к обновленному значению переменной экземпляра.
Однако я не хочу, чтобы вторая функция могла изменять значение переменной экземпляра. Я хочу, чтобы он имел доступ только для чтения, но так как я передаю указатель на переменную экземпляра, сможет ли он изменить значение переменной экземпляра? Если так, как я могу ограничить разыменование указателя только для чтения? Если это невозможно, каково будет самое безопасное решение этой проблемы?
Mac OS X Snowleopard, Xcode 3.2.6. Objective-C с какао.
EDIT: Извините, я забыл упомянуть, что не могу сделать переменную экземпляра постоянной, потому что мне нужен класс, к которому он принадлежит, чтобы иметь возможность его изменять. Если бы я сделал это константой, это полностью ограничило бы запись в переменную.