Начал реализовывать класс потокового вывода COut и столкнулся с тем, что мне нужно городить код создания переменной этого класса.
Не проще ли реализовать это через функцию exec? - спросил я самого себя.
Функция exec - это функция, которая в качестве параметра принимает строку и исполняет её как код интерпретатора. Как если бы мы в консоли этот код ввели.
Я впервые познакомился с концепцией функции exec, когда изучал JavaScript.
Сперва я, честно говоря, не понял, зачем такая функция нужна - ведь интерпретатор и так исполняет код, который я пишу.
Но через пару дней мне вдруг понадобилось поместить числовой параметр в код как константу, а параметр этот можно было получить только уже после загрузки кода страницы. И тогда я вдруг понял, что могу сделать это с помощью функции exec.
Так же и в данном случае, вместо кода на C++ мне гораздо удобнее иметь возможность выполнить код на языке интерпретатора.
Функция exec оказалась достаточно простой. Мы кладём строку на стек и исполняем код "exec $" - то есть исполнить код, заданный строкой на вершине стека.
Комментариев нет:
Отправить комментарий