C ++ 20 표준 버전으로 범위가 C ++에 제공됩니다.
내 질문 : 우리는 어떤 범위에서 (기존의) 표준 라이브러리 컨테이너를 만들 수 있습니까? 더 중요한 것은 레인지 뷰를 사용하는 것입니까?
예를 들면 다음과 같습니다.
#include <vector>
#include <iostream>
#include <ranges>
int main() {
auto sq = [](int x) { return x * x; };
std::vector<int> vec { 3, 4, 5 };
std::vector<int> squares { std::ranges::views::transform(vec, sq) };
for(auto i : squares) { std::cout << i << ' '; }
std::cout << std::endl;
}
인쇄하는 유효한 프로그램 9 16 25
입니까?
이것은 ranges-v3 라이브러리로 컴파일하여 그 가치가 있습니다.
관련? stackoverflow.com/questions/55950955/…
—
StoryTeller-Unslander Monica 2009 년
StoryTeller 당 : 다음에 나오는 Ranges 라이브러리가 범위에서 컨테이너 초기화를 지원하지 않는 이유는 무엇입니까? — 그러나 투표 결의안은 아직 답을 바꿀 수 있습니다!
—
Davis Herring
@Barry : LEWG 는 Kona로 전달 했지만 최근 반사경 트래픽을 잘못 해석 한 것 같습니다.
—
Davis Herring
@DavisHerring 오, 나는 그것이 두 번 논의되었다는 것을 놓쳤다. 나는 4-7 설문 조사로 스크롤을 내려서 그 생각이었다.
—
Barry