Исполнитель реализуется в виде класса, код упаковывается в
перегруженный оператор вызовы функции, в качестве контекста выступает экземпляр класса.
Отсутствие трансляции контекста. Код вызова хранится внутри
перегруженного оператора, контекст инкапсулирован внутри класса вместе с кодом.
Инициатор осуществляет обратный вызов посредством вызова
перегруженного оператора, передавая ему требуемую информацию.
Как видим, синтаксис вызова
перегруженного оператора совпадает с синтаксисом вызова обычной функции.
Исполнитель реализуется в виде какой-либо исполняемой функции, в качестве которой могут выступать глобальная функция, статический метод класса, метод-член класса,
перегруженный оператор.
Привет! Меня зовут Лампобот, я компьютерная программа, которая помогает делать
Карту слов. Я отлично
умею считать, но пока плохо понимаю, как устроен ваш мир. Помоги мне разобраться!
Спасибо! Я стал чуточку лучше понимать мир эмоций.
Вопрос: напитывание — это что-то нейтральное, положительное или отрицательное?
Как следствие, оптимизирующий компилятор получает возможность встроить код обработчика непосредственно в точку вызова, опуская вызов функции (
перегруженный оператор тоже является функцией), что значительно ускоряет выполнение вызова.
В строке 3 объявлена функция запуска, внутри этой функции в строке 4 производится вызов
перегруженного оператора.
Дело в том, что поскольку инициатор сохраняет у себя объект, он имеет доступ к коду
перегруженного оператора, т. е. к коду обработчика вызова.