부스트 범위에는 쉼표 또는 공백으로 구분하여 쉽게 요소를 포함 할 수있는 기본 제공 방법이 있습니까?cout a boost :: elements of range
나는 루프를 걸고 따로 인쇄 할 수 있다는 것을 알고 있지만, 어떻게 든 스크립트 언어로 벡터를 인쇄하는 것과 같은 방식으로 만들어야한다.
부스트 :: 사본 (범위, ostream_iterator와 (COUT를, ""))
나에게 추한 외모 : 내가 본 예제 프로그램에서
은, 저자를 법원에 범위를 복사 . 이것은 관용적입니까?EDIT : 표준 반복기의 솔루션도 사용할 수 있습니다.
는 EDIT2 :
cout << range;
하지만 작품이라고 생각하지 않습니다 는 내가하고 싶은 것은 이것이다. 다양한 어댑터
cout << range.join(", ");
혹은 : 그래서 내가 바라고있는 무슨이 (영감 파이썬) 같은 것입니다.
cout << (range | stringify(", "));
감사합니다. STL과 부스트가 공통 컨테이너에 대해 이것을 정의하지 않는 특별한 이유는 무엇입니까? 나는이 방법에 대해 알고 있었지만 (늘리면 탐험에 대해 들어 본 적이 없다.), 더 숙련 된 방법이있을 때 언제나 좀 더러운 정의 도우미 기능을 느낀다. – Gurgeh
@Gurgeh : 나는 완전히 확신하지 못합니다. 완전히 일반적인 경우, 문자열 입력 또는 출력과 같은 문제를 "처리"하려고 할 수 있습니다. 이는 문제가 될 수 있습니다. –
그건별로 이유가되지 않습니다 (당연히 당신을 비난하는 것이 아닙니다).정상적인 상황에서는 오버로드 된 운영자가 올바른 순서로 해결되도록하는 것이 어렵지 않습니다. 그리고 무언가가 잘못 될 수있는 경우가 드물기 때문에 항상 표준 컨테이너마다 수동으로 정의 할 수 있습니다. 어쨌든 몇 시간 후에 더 좋은 것이 나오지 않으면 답을 고를 것입니다. 토론 해 주셔서 감사합니다! – Gurgeh