Я бы хотел, чтобы часть памяти c была связана с переменной c, например:
#include <iostream>
using namespace std;
class StaticFriend {
public:
/**/ StaticFriend( void ) { }
} ;
class C {
public:
/**/ C( StaticFriend &f ) : myFriend( f ) { }
private:
StaticFriend &myFriend;
} ;
int
main( int argc, char **argv, char **envp )
{
static StaticFriend a;
C aa( a );
cout << "hello, world" << endl;
static StaticFriend b;
C bb( b );
cout << "goodbye, world" << endl;
return 0;
}
Идея состоит в том, что каждый автомат c C (aa
, bb
) будет иметь ассоциированный StaticFriend
, который будет инициализирован один раз и затем сможет хранить информацию между жизненными циклами соответствующего C. Таким образом, в примере есть два C (aa
и bb
), и у каждого есть свой собственный StaticFriend
.
Кроме того, что у меня есть отдельный StaticFriend, как я показал в моем примере, Есть ли способ сделать это 1026 *? (Я не хочу одну переменную stati c в классе ... больше похоже на одну переменную stati c в каждом классе экземпляр .)
Мой вариант использования для регистрации с использованием boost::log
. Я все еще пытаюсь найти наилучший способ его использования, но похоже, как работает фильтрация, вы запускаете событие журнала с open_record
(создавая автоматическую переменную c в точке использования), и если серьезность или что-то в этом роде так, что запись не будет отправлена, никаких дальнейших действий с этим событием журнала не происходит. Но я хотел бы посчитать количество раз и собрать статистику времени для события, даже если оно не регистрируется. Поэтому я понимаю, что мое событие журнала может щекотать stati c, прежде чем решить, продолжать ли, stati c может записать минимальную информацию, которую я хочу.