Как я могу создать макрос C ++, который вызывает функцию шаблона, если аргумент является константой во время компиляции? - PullRequest
0 голосов
/ 24 апреля 2018

Я использую C ++ 14. Мне нужен способ специализировать вызовы к memcpy (), чтобы они стали просто целочисленной операцией, если они имеют длину 2, 4, 8 или 16 байтов.

Например, 'memcpy (a, b, 4)' должен компилироваться в 'mymemcpy <4> (a, b)', но что-то вроде 'int c = 7 + 1; memcpy (a, b, c); ' следует скомпилировать в исходный memcpy (a, b, c). Хорошо использовать макросы или шаблоны.

Я пытался использовать constexpr, но это был не очень хороший результат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...