C ++ 0X가 주류가되면 겹치는 부스트 부분에서 어떻게됩니까?

StackOverflow https://stackoverflow.com/questions/405175

  •  03-07-2019
  •  | 
  •  

문제

C ++ 0X가 주류가되면 겹치는 부스트 부분에서 어떻게됩니까?

부스트는 여전히 사용 된 모든 것을 포함 할 것인가, 아니면 새로운 STD :: 물건으로 업데이트하도록 라이브러리를 조정합니까?

Boost는 일반적인 C ++ 버전과 C ++ 0X 버전이 모두 유지 될까요?

도움이 되었습니까?

해결책

하나는 희망 이 부스트는 몇 가지 이유로 기존 클래스를 계속 지원합니다.

첫째, 겹치는 기능을 부스트에서 지원 해야하는 코드가 얼마 동안 지원되어야하는 코드가 있습니다.

둘째, 겹치는 구현을 통해 내가 원하는 것을 선호하는 구현을 선택할 수 있습니다. STD :: FROB와 BOOST :: FROB 사이에는 몇 가지 차이가있을 수 있으며,이 프로젝트에는 중요한 것이 좋으며 선택의 여지가 좋습니다.

그러나 장기적으로는 응용 프로그램 작성자와 도구 제공 업체의 표준으로의 마이그레이션을 기대할 것입니다. 그것은 std ::와 함께가는 것이 덜 위험한 선택입니다.

다른 팁

나는 Boost와 제휴하지 않고 그들이 무엇을할지 알지 못하지만 Boost가 손대지 않을 것 같습니다.

이미 TR1 (VS 2008 기능 팩)이 출시되었으며 부스트는 손대지 않았습니다. 많은 사용자가 아직 부스트 또는 TR1을 채택하지 않았기 때문에 내 예측은 적어도 향후 5 년 동안 부스트와 C ++ 0X 라이브러리가 다른 네임 스페이스에 존재하며 C ++ 0X 사용자뿐만 아니라 C ++ 사용자가 사용할 수 있다는 것입니다.

네임 스페이스는 부스트 개발자를 위해이를 다소 문제로 만듭니다. 부스트 라이브러리와 표준 라이브러리 사이에는 별도의 네임 스페이스에 존재하기 때문에 직접적인 경합이 없습니다. 따라서 네임 스페이스 STD (예 : STD :: TR1의 추가) 변경은 부스트에 직접적인 영향을 미치지 않습니다.

그러나 두 라이브러리 (STD 및 BOOST)를 글로벌 네임 스페이스로 가져 오면 문제가 있습니다.

Boost TR1 문서의 다음 인용문은 Boost의 TR1 구성 요소 구현과 관련하여 약간의 빛을 비추고 있으며, 이는 상응하는 Boost 라이브러리가 가까운 미래에 유지 될 것이라고 제안합니다.

TR1 라이브러리는 표준 라이브러리 확장에 대한 C ++ 기술 보고서의 구현을 제공합니다. 이 라이브러리 자체는 TR1 구성 요소를 구현하지 않고 표준 라이브러리의 TR1 구현 (하나가있는 경우)을 포함하는 얇은 래퍼입니다. 그렇지 않으면 부스트 라이브러리 등가물이 포함되어 네임 스페이스 STD :: TR1로 가져옵니다.

TR1을 의미합니까?

부스트는 이미 TR1을 지원합니다. STD :: TR1에 채택 된 BOOST의 모든 클래스는 BOOST 의이 네임 스페이스에서 제공됩니다. 다음 문서를 참조하십시오.

http://www.boost.org/doc/libs/1_37_0/doc/html/boost_tr1.html

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top