개요
- 시퀀스의 첫 번째 요소가 0 위치에 있는 객체의 연속 시퀀스를 참조할 수 있는 객체
- string_view와 같은 효과 발생
- ‘int []’와 ‘array’, ‘vector’, …
예제
- 코드
#include <array>
#include <iostream>
#include <span>
#include <vector>
using namespace std;
int main() {
auto func = [](span<int> s) {
cout << s.size() << ", " << s.front() << ", " << s.back() << endl;
for (const auto &iter : s) {
cout << iter << " ";
}
cout << endl;
s[1] = 5;
};
int a1[] = {1, 2, 3};
func(a1);
for (const auto &iter : a1) {
cout << iter << " ";
}
cout << endl;
cout << "------" << endl;
array<int, 3> a2 = {1, 2, 3};
func(a2);
for (const auto &iter : a2) {
cout << iter << " ";
}
cout << endl;
cout << "------" << endl;
vector<int> a3 = {1, 2, 3};
func(a3);
for (const auto &iter : a3) {
cout << iter << " ";
}
cout << endl;
return 0;
}
- 실행 결과
3, 1, 3
1 2 3
1 5 3
------
3, 1, 3
1 2 3
1 5 3
------
3, 1, 3
1 2 3
1 5 3