이 코드 조각을 고려 : 내가 갈 수실행 시간 차이가 있습니까?
class A {
void methodX() {
// snip (1 liner function)
}
}
class B {
void methodX() {
// same -code
}
}
이제 다른 방법입니다, I 클래스 (AppManager를)가 대부분의 구성원 정적의 (레거시 코드에서, 나에게 싱글을하지 않는 것이 좋습니다))
class AppManager {
public:
static void methodX(){
// same-code
}
}
어떤 것을 선호해야합니까? 둘 다 인라인되기 때문에 런타임에 차이가 있어서는 안됩니다. 맞습니까?
어떤 형태가 더 깨끗합니까?
컴파일러 최적화는 가장 낮은 레벨에서 가장 잘 작동하지만 가장 높은 레벨에서 완전히 실패합니다 (즉, "현재 작업에 가장 적합한 알고리즘입니까?"). 따라서 컴파일러가이 수준이 아닌 수준에서 최적화해야합니다. – MSalters