любым способом можно получить тип от нового оператора в C ++ (включая Hack way)? - PullRequest
0 голосов
/ 10 апреля 2020

В идеале, вы могли бы использовать новое с шаблонами. Но стандарт C ++ не обеспечивает никакого разумного способа. Поэтому мне все равно, какой C + + стандарт.

я хочу получить тип в новом операторе;

как это можно сделать (включая использование любого взлома компилятора)?

inline void* operator new(size_t size)
     {
         //get what the type are calling new at here
         return some pointer;
     }

inline void* operator new[](size_t size)
     { 
         //get what the type are calling new [] at here
         return some pointer;
     }

Любая версия (msv c или clang) может быть использованы.

Почему: я хочу сделать некоторую предварительную обработку, такую ​​как отражение через информацию о типе. Я хочу получить информацию о типе до того, как G C выделит память. Если это невозможно в новом операторе, тогда я могу использовать только более уродливый способ. Например: как определить хорошую / совершенную функцию New для инициализации любого класса / структуры в C ++?

...