|
파라미터가 다른 각각의 함수를 하나의 함수명으로 쓸 수 있죠..
변수도 그런 식으로 쓸 수 없을까요?
화면버퍼가 2바이트인 단말기와 4바이트인 단말기가 있는데, 그 버퍼를 직접 제어 해야 합니다..
버퍼 포인터를 2바이트용, 4바이트용으로 따로 만들어서 처리하면 코드도 2배가 되고, 매번 비교해야하기 때문에 느려질 것 같은데요..
예를 들어서, 따로 만든다면 매번 아래처럼 코드가 2개 있어야 겠죠..
if(clDraw.bpp == 16)
{
lpBuffer16 = GetScreenBuffer();
lpBuffer16[100] = RGB(255, 255, 255); // RGB는 함수포인터로 해결했음..
}
else if(clDraw.bpp == 32)
{
lpBuffer32 = GetScreenBuffer();
lpBuffer32[100] = RGB(255, 255, 255);
}
그러니까, 간단하게 이렇게는 안될까요?
if(clDraw.bpp == 16)
{
// lpBuffer가 16비트용으로 됨
}
else if(clDraw.bpp == 32)
{
// lpBuffer가 32비트용으로 되
}
lpBuffer = GetScreenBuffer();
lpBuffer[100] = RGB(255, 255, 255);
#define으로 선언하는 방식 말고 좋은 해결책이 없을까요? 답변 부탁드립니다.
|