<cstdint>
과 <tr1/cstdint>
의 차이점은 무엇입니까? (그 외에는 네임 스페이스 std::
에있는 것들과 다른 것들은 std::tr1::
에 넣습니다.)cstdint와 tr1/cstdint의 차이점
이 것들은 표준이 아니기 때문에 컴파일러에 따라 다르므로 gcc에 관한 것입니다. non-tr1으로 컴파일하려면 -std=c++0x
으로 컴파일해야하지만 tr1을 사용할 때는 이러한 제한이 없습니다.
아마도 대답이없는 것 같습니다.하지만, 표준을 제외하고는 std::
에 물건을 추가 할 수는 없습니다. 따라서 C++ 0x가 표준화되기 전까지는 <cstdint>
을 사용하여 오류를 발행해야하지만 tr1::
네임 스페이스에 추가 할 때 걱정할 필요가 없습니다. 아니면 이것에 더 많은 것이 있습니까?
감사합니다.
p.s - 당신이 표준으로 "표준"을 읽으면 내가 할 것처럼, 나는이 Q.
아, 죄송합니다. 컴파일러가'std ::'에 추가 할 때 오류가 발생했음을 암시하는 것을 의미하지는 않았지만, 그 말은 모호성을 없애기 위해 고맙습니다. 'std ::'에 추가하면 정의되지 않은 동작이 발생한다는 것을 의미합니까?나는 그것을 깨닫지 못했다. 단지 그것이 매우 나쁜 형태라고 생각했다. 알아 둘만한. 또한, 줄 사이에서 읽기, 나는 안전하게 TR1 헤더가 변경되지 않는다고 가정 할 수있는 반면 C++ 0x는 명백하게 (그리고 아마도 그렇게 할 것입니다). – tjm
TR1 헤더는 그대로 있으며 변경되지 않습니다. 이 시점에서 나는 C++ 0x 헤더의 중대한 변화를보고 놀랄 것입니다. 그들은 이미 "최종위원회 초안"을 만들고 C++ 0x의 공식적인 코멘트 기간을 마감했습니다. 이 시점에서 대부분의 공식적인 주석에 답하고 문구에 대한 최종 정리 작업을 수행하지만 대부분 문서의 * 의도는 동일하게 유지되어야합니다. 실제로 문서의 의도를 실제로 확인해야합니다. 예정된. –
정말 고맙습니다. – tjm