기본 클래스를 나열하는 순서 중 하나가 비어 있고 다른 클래스가 비어있는 경우 중요합니까?어디에서 빈 기본 클래스를 넣어야합니까?
class Foo : normal_class, empty_class { ... };
class Foo : empty_class, normal_class { ... };
컴파일러가 빈 기본 클래스 최적화를 적용하는 순서에 영향을 줍니까?
기본 클래스를 나열하는 순서 중 하나가 비어 있고 다른 클래스가 비어있는 경우 중요합니까?어디에서 빈 기본 클래스를 넣어야합니까?
class Foo : normal_class, empty_class { ... };
class Foo : empty_class, normal_class { ... };
컴파일러가 빈 기본 클래스 최적화를 적용하는 순서에 영향을 줍니까?
나는 중요하지 않다고 생각합니다. 어쨌든 빈베이스를 먼저 두는 경향이 있지만.
이 부스트 사이트에서 여러 빈 기지에 흥미있는 노트입니다 : http://www.boost.org/doc/libs/1_38_0/libs/utility/operators.htm#old_lib_note
일부 데이터 멤버가 상속 된 후 컴파일러에서 임의로 클래스를 채울 수 있습니다. 그래서 아니요, 비어있는 최적화가 꼭 필요한 것은 아닙니다.
내가 (주석되지 않을 것) 순간 손에서 표준이없는,하지만 상단 오프 나 '내 모자에서 Standard는 최적화를 기본 목록의 특정 위치로 제한하지 않는다고 말합니다. –
실제 테스트를 수행하고 어셈블리를 비교하는 것이 가능합니까? –
LOL, 나는 실제 시험을 통해 몇 년 전에 유사한 질문에 답하려고 노력했다. 나는 실험을 망쳤고, 잘못된 결과를 얻었고, 내 엉덩이를 나에게 건네 주었다. – Potatoswatter