Я пытаюсь изменить некоторые макросы (у нас есть их) для шаблонов функций. Много раз, у меня есть следующий сценарий:C++ от макросов до шаблонов
#include <iostream>
void function_A(void)
{
std::cout << "function A" << std::endl;
}
void function_B(void)
{
std::cout << "function B" << std::endl;
}
#define FOO(_bar) \
do { \
/* ... do something */ \
function_##_bar(); \
/* ... do something */ \
} while(0)
int main()
{
FOO(A);
FOO(B);
}
Как я могу выразить FOO
как шаблон функции и достичь того же результата?
Я имею в виду что-то вроде:
template < ??? _bar >
void foo()
{
// somehow link function_X and _bar
}
Performance является обязательным !!
Заранее спасибо.
Вы можете разместить полный компилируемый пример исходного кода? –
«Много раз, у меня есть следующий сценарий» - запах кода? –