- Функция, отличная от «intg», не может вызывать функции «intg». (Точно так же, как мы не можем вызывать неконстантные функции в константных функциях)
- Переменные «intg» можно изменять только в функциях «intg» (переменные intg действуют как константы внутри других функций)
Как бы я это сделал это в C++ или добавить его в компилятор?
ПРИМЕЧАНИЕ:
Я также готов редактировать компилятор, если у C++ нет собственных решений для этого. это
Пример:
intg float a = 0;
float b = 0;
void DoStuff() intg
{
// Doing stuff...
}
void Foo() intg
{
DoStuff() // Allowed!
DoThings() // Allowed!
a = 2; // Allowed!
b = 2; // Allowed!
// And other stuff...
}
void DoThings()
{
// Doing thing...
}
void Bar()
{
DoStuff() // Compilation error!
DoThings() // Allowed!
a = 2; // Compilation error!
b = 2; // Allowed!
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... -qualifier
Мобильная версия