함수 내에서 매크로를 여러 번 사용해야하고 사용해야하는 매크로는 함수에 전달하는 숫자에 따라 다릅니다.매크로는 정수에 따라 사용합니다.
function(int number) {
switch(number) {
case 0: doStuff(MACRO0); break;
case 1: doStuff(MACRO1); break;
}
}
문제는 다음과 같습니다. 동일한 매크로를 사용하여 스위치 문당 수행 할 작업이 많습니다. switch 문에 이러한 모든 것을 넣는보다 우아한 솔루션이 있습니까? 매크로 자체를 함수에 전달하는 것? 나는 C++의 메소드와 같은 eval()에 대해서 읽었지만 그들은 나에게 맞지 않는다. 또 다른 방법은 매크로가 확장되는 것을 결정할 수 있지만 이것에 대한 정보를 찾지 못했습니다.
아, 실제로 OpenGL입니다.
왜 함수 포인터를 사용하지 않는가? –
op()를 사용하는 함수 객체가 더 빠르고 인라인 될 수 있기 때문입니다. 그가 OpenGL을하고 있다고 감안할 때, 저는 스피드가 중요하다고 생각합니다. –