Один из лучшего метода для генерации случайного числа до Дрейф Часов . Это, прежде всего, работает с двумя осцилляторами.
аналогия того, как это работает, воображают гоночный автомобиль на простой овальной схеме с некоторое время строкой в начале полировки и также некоторое время строкой на одной из шин. Когда автомобиль завершит полировку, число будет сгенерировано на основе различия между положением белой строки на дороге и на шине.
Очень легкий генерировать и невозможный предсказать.
Ближе всего к этому вызову typeid (your_class) .name ()
- но это дает искореженное имя компилятора.
Чтобы использовать его внутри класса, просто typeid (* this) .name ()
Еще нет. (Я думаю, __ class __
где-то предлагается). Вы также можете попробовать извлечь часть класса из __ PRETTY_FUNCTION __
.
Если ваш компилятор g ++
, и вы спрашиваете для __ CLASS __
, поскольку вам нужен способ получить текущее имя метода, включая класс, __ PRETTY_FUNCTION __
должно помочь (согласно info gcc
, раздел 5.43 Функция Имена в виде строк ).
Если вы говорите на MS C ++ (вы должны указать, особенно как __ FUNCTION __
является нестандартным расширением) есть символы __ FUNCDNAME __
и __ FUNCSIG __
, которые вы можете разобрать