Уникальный хеш времени компиляции для переменныхC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Уникальный хеш времени компиляции для переменных

Сообщение Anonymous »

есть ли какие-либо способы создания уникальных хешей для каждой переменной во время компиляции.
C++ позволяет использовать области блоков, которые могут привести к созданию переменных с одинаковыми именами внутри одной функции, поэтому я не могу просто сделать:< /p>

Код: Выделить всё

#define MACRO(...) ConstevalHash(__PRETTY_FUNCTION__ #__VA_ARGS__)

int variable = 0;
printf("id %d \n", MACRO(variable));
в скомпилированном файле должно выглядеть так:

Код: Выделить всё

printf("id %d \n", 345908340) // unique hash
Я думал о том, чтобы попытаться получить статический адрес памяти каждой переменной, используя приемы consteval, но боюсь, что это невозможно с текущим cpp.
РЕДАКТИРОВАТЬ:
Это решение проблемы со счетчиками времени компиляции.
Текущее решение:

Код: Выделить всё

#define MACRO(...) __VA_ARGS__.CachedID // static constexpr int CachedID ;

Var Variable = 0; // Id creates unique id using counter
MACRO(variable);
Это запрещает использование auto, что не очень хорошее решение для любого API.
Об областях блоков

Код: Выделить всё

void Function()
{
{ int var = 0; MACRO(var); }
{ int var = 0; MACRO(var); }
}

while(true)
{
Function();
}

Оба этих хеша должны быть разными, но они должны оставаться одинаковыми на каждом такте внутри цикла, поэтому требуется кодирование во время компиляции.

Подробнее здесь: https://stackoverflow.com/questions/792 ... -variables
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Уникальный хеш времени компиляции для переменных
    Anonymous » » в форуме C++
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Уникальный хеш времени компиляции для переменных
    Anonymous » » в форуме C++
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Хеш уникальной ценности = уникальный хэш?
    Anonymous » » в форуме Php
    0 Ответы
    83 Просмотры
    Последнее сообщение Anonymous
  • Какова длина имен переменных переменных min и max от одного миллиона имен переменных в C ++? [закрыто]
    Anonymous » » в форуме C++
    0 Ответы
    37 Просмотры
    Последнее сообщение Anonymous
  • Должны ли формулы хеш-кода меняться в зависимости от диапазонов переменных?
    Anonymous » » в форуме JAVA
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C++»