я работаю над проектом, СРР, который имеет несколько глобальных переменных, например:Рефакторинг глобальные экземпляры на указатели
class A;
class B;
A a;
B b;
Я хочу, чтобы иметь возможность переключения между различными значениями а и Ь. В идеале не должно было быть глобальными переменными вообще, или они должны были быть указателями , чтобы мы могли легко переключаться. Например. Если у нас есть:
B* b; A* a;
то мы можем изменить a и b во время выполнения. Однако, проблема заключается в том, что переменные а и Ь называются сотни раз в проекте, и я должен был бы изменить все эти строки из
a.something
в
a->something
, которые могли бы принять какое-то время. Есть ли более быстрый способ сделать это?
я не вижу очевидный способ, в котором ссылки будет полезно - как только вы инициализировать ссылку, вы не можете «повторно -seat ", чтобы ссылаться на другой объект. –
Теоретически вы можете добавить ссылки на списки параметров каждой функции, которая использует эти глобальные переменные (и списки параметров каждой функции выше тех, которые находятся в дереве вызовов), и потопить ваши глобальные значения через программу со ссылками. Получает избавление от глобальных переменных и сохраняет синтаксис '.', За счет изменения множества сигнатур функций. –
Есть ли более быстрый способ выполнить глобальный поиск и заменить? Um. что-то не так с выполнением глобального поиска и замены? – WhozCraig