Как правило, этого достаточно для того, чтобы сопровождающие следовали шаблону.

ю :

class Foo {
   public:
      void log() { }

      void a() {
         log();
      }

      void b() {
         log();
      }
};

Есть ли способ, которым я могу иметь каждый методFoo, вызовlog(), но без меня, чтобы явно ввести log () в качестве первой строки каждой функции? Я хочу сделать это, чтобы я мог добавить поведение к каждой функции без необходимости проходить через каждую функцию и удостовериться, что вызов сделан, а также, чтобы при добавлении новых функций код автоматически добавлялся ...

Это вообще возможно? Я не могу себе представить, как это сделать с помощью макросов, поэтому не знаю, с чего начать ... Единственный способ, о котором я до сих пор думал, - это добавить «шаг перед сборкой», чтобы перед компиляцией я сканировал файл и редактировать исходный код, но это не кажется очень умным ....

РЕДАКТИРОВАТЬ: Просто чтобы уточнить - я не хочу, чтобы log () вызывал себя, очевидно. Это не должно быть частью класса.

РЕДАКТИРОВАТЬ: Я бы предпочел использовать методы, которые будут работать кроссплатформенный, и использовать только STL.

Ответы на вопрос(6)

Ваш ответ на вопрос