저는 크로스 플랫폼을 목표로하는 프로그램을 작성하고 있습니다. 따라서 특정 작업의 여러 구현을 지원할 것입니다. 나의 첫 번째 아이디어는 공용 인터페이스와 함께 각 플랫폼에 대한 추상적 인 팩토리를 사용하여 클래스의 계층 구조를 작성하는 것이 었습니다.크로스 플랫폼 구현을 추상화하는 일반적인 관용구는 무엇입니까?
class Operation {
DoOperation() = 0;
}
class OperationPlatform1 : public Operation {
DoOperation();
}
class OperationPlatform2 : public Operation {
DoOperation();
}
#ifdef USING_PLATFORM1
Operation *op = new OperationPlatform1;
#endif
그러나 구현시 사용되는 구현은 컴파일 타임에 알 수 있습니다. 하나가 될 것입니다있는, 추상적 인 다수의 구현에 좋은 방법은 무엇
class OperationPlatform1 {
DoOperation();
}
class OperationPlatform2 {
DoOperation();
}
#ifdef USING_PLATFORM1
typedef OperationPlatform1 Operation;
#endif
Operation op;
: 나는 나는 이러한 라인을 따라 뭔가를 쓸 수 있다는 것을 깨달았 후, 나는이 사용하는 정적 다형성을 구현할 수있는 방법을 생각하려고 노력 컴파일 타임에 선택 했습니까? 필자는 성능에 대해서도 관심이 있으므로 가상화 방법을 사용하지 않으려면 사용하지 않는 것이 좋습니다.
표준 C++을 독점적으로 사용합니다. – PlasmaHH