На стр. 57 из The Design and Evolution of C++ д-р Струстуст рассказывает об одной из функций, которая первоначально была частью C с классами, но она не является частью современного C++ (стандартный C++). Эта функция называется call/return
. Это пример:Функция вызова/возврата классического C++ (C с классами), на каких современных языках это?
class myclass
{
call() { /* do something before each call to a function. */ }
return() { /* do something else after each call to a function. */ }
...
};
Я нахожу эту функцию очень интересной. Имеет ли какой-либо современный язык эту особенность?
Похож на AOP: http://en.wikipedia.org/wiki/Aspect-oriented_programming –
@gf Это интересно, я думаю, что я собираюсь взглянуть на некоторые рамки AOP для C++, потому что я никогда не делал что раньше :) – AraK
Это выглядит очень ориентированным на аспекты. Мне любопытно, почему это было рассмотрено, а затем отброшено. Также ... У меня нет этой книги, поэтому я должен спросить: была ли эта функция предназначена для применения перед * любой * функцией класса или перед * конкретной * функцией? Можно ли было бы определить разные 'call()' s и 'return()' s для разных функций? – FrustratedWithFormsDesigner