array
클래스(C++ 표준 라이브러리)
길이가 N
인 Ty
형식의 요소 시퀀스를 제어하는 개체를 설명합니다. 시퀀스는 array<Ty, N>
개체에 포함된 Ty
의 배열로 저장됩니다.
구문
template <class Ty, std::size_t N>
class array;
매개 변수
Ty
요소의 형식입니다.
N
요소의 수입니다.
멤버
형식 정의 | 설명 |
---|---|
const_iterator |
제어되는 시퀀스에 대한 상수 반복기의 형식입니다. |
const_pointer |
요소에 대한 상수 포인터의 형식입니다. |
const_reference |
요소에 대한 상수 참조의 형식입니다. |
const_reverse_iterator |
제어되는 시퀀스에 대한 상수 역방향 반복기의 형식입니다. |
difference_type |
두 요소 사이의 부호가 있는 거리의 형식입니다. |
iterator |
제어되는 시퀀스에 대한 반복기의 형식입니다. |
pointer |
요소에 대한 포인터의 형식입니다. |
reference |
요소에 대한 참조의 형식입니다. |
reverse_iterator |
제어되는 시퀀스에 대한 반대 반복기의 형식입니다. |
size_type |
두 요소 사이의 부호가 없는 거리의 형식입니다. |
value_type |
요소의 형식입니다. |
멤버 함수 | 설명 |
---|---|
array |
배열 개체를 생성합니다. |
assign |
(사용되지 않습니다. . fill ) 모든 요소를 대체합니다. |
at |
지정된 위치에 있는 요소에 액세스합니다. |
back |
마지막 요소에 액세스합니다. |
begin |
제어되는 시퀀스의 시작을 지정합니다. |
cbegin |
배열의 첫 번째 요소에 대한 임의 액세스 const 반복기를 반환합니다. |
cend |
배열 끝의 바로 다음을 가리키는 임의 액세스 const 반복기를 반환합니다. |
crbegin |
역방향 배열의 첫 번째 요소에 대해 const 반복기를 반환합니다. |
crend |
역방향 배열 끝에 대해 const 반복기를 반환합니다. |
data |
첫 번째 요소의 주소를 가져옵니다. |
empty |
요소가 있는지 테스트합니다. |
end |
제어되는 시퀀스의 끝을 지정합니다. |
fill |
지정된 값을 가진 모든 요소를 바꿉니다. |
front |
첫 번째 요소에 액세스합니다. |
max_size |
요소 수를 계산합니다. |
rbegin |
제어되는 역방향 시퀀스의 시작을 지정합니다. |
rend |
제어되는 역방향 시퀀스의 끝을 지정합니다. |
size |
요소 수를 계산합니다. |
swap |
두 컨테이너의 내용을 바꿉니다. |
Operator | 설명 |
---|---|
array::operator= |
제어되는 시퀀스를 바꿉니다. |
array::operator[] |
지정된 위치에 있는 요소에 액세스합니다. |
설명
형식에 기본 생성자 array()
와 기본 대입 연산자 operator=
가 있고 aggregate
에 대한 요구 사항을 충족합니다. 따라서 집계 이니셜라이저를 사용하여 array<Ty, N>
형식의 개체를 초기화할 수 있습니다. 예를 들면 다음과 같습니다.
array<int, 4> ai = { 1, 2, 3 };
4개의 정수 값을 보유하는 ai
개체를 만들고, 처음 세 개의 요소를 값 1, 2, 3으로 각각 초기화한 다음 네 번째 요소를 0으로 초기화합니다.
요구 사항
머리글: <array>
네임스페이스: std
array::array
배열 개체를 생성합니다.
array();
array(const array& right);
매개 변수
right
삽입할 개체 또는 범위입니다.
설명
기본 생성자 array()
는 제어되는 시퀀스를 초기화되지 않은 상태(또는 기본 시퀀스를 초기화된 상태)로 유지합니다. 초기화되지 않은 제어되는 시퀀스를 지정하려면 이 생성자를 사용합니다.
복사 생성자 array(const array& right)
는 시퀀스 [right.begin()
, right.end()
)로 제어되는 시퀀스를 초기화합니다. 배열 개체 right
에 의해 제어되는 시퀀스의 복사본인 초기 제어 시퀀스를 지정하는 데 사용합니다.
예시
#include <array>
#include <iostream>
typedef std::array<int, 4> Myarray;
int main()
{
Myarray c0 = { 0, 1, 2, 3 };
// display contents " 0 1 2 3"
for (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
Myarray c1(c0);
// display contents " 0 1 2 3"
for (const auto& it : c1)
{
std::cout << " " << it;
}
std::cout << std::endl;
return (0);
}
0 1 2 3
0 1 2 3
array::assign
C++11에서 사용되지 않으며 .fill
모든 요소를 바꿉니다.
array::at
지정된 위치에 있는 요소에 액세스합니다.
reference at(size_type off);
constexpr const_reference at(size_type off) const;
매개 변수
off
액세스할 요소의 위치입니다.
설명
멤버 함수는 위치 off
에서 제어되는 시퀀스의 요소에 대한 참조를 반환합니다. 해당 위치가 잘못된 경우 함수는 out_of_range
클래스의 개체를 throw합니다.
예시
#include <array>
#include <iostream>
typedef std::array<int, 4> Myarray;
int main()
{
Myarray c0 = { 0, 1, 2, 3 };
// display contents " 0 1 2 3"
for (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
// display odd elements " 1 3"
std::cout << " " << c0.at(1);
std::cout << " " << c0.at(3);
std::cout << std::endl;
return (0);
}
array::back
마지막 요소에 액세스합니다.
reference back();
constexpr const_reference back() const;
설명
멤버 함수는 비어 있지 않아야 하는 제어된 시퀀스의 마지막 요소에 대한 참조를 반환합니다.
예시
#include <array>
#include <iostream>
typedef std::array<int, 4> Myarray;
int main()
{
Myarray c0 = { 0, 1, 2, 3 };
// display contents " 0 1 2 3"
for (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
// display last element " 3"
std::cout << " " << c0.back();
std::cout << std::endl;
return (0);
}
0 1 2 3
3
array::begin
제어되는 시퀀스의 시작을 지정합니다.
iterator begin() noexcept;
const_iterator begin() const noexcept;
설명
멤버 함수는 시퀀스의 첫 번째 요소(또는 빈 시퀀스의 끝 바로 다음)를 가리키는 임의 액세스 반복기를 반환합니다.
예시
#include <array>
#include <iostream>
typedef std::array<int, 4> Myarray;
int main()
{
Myarray c0 = { 0, 1, 2, 3 };
// display contents " 0 1 2 3"
for (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
// display first element " 0"
Myarray::iterator it2 = c0.begin();
std::cout << " " << *it2;
std::cout << std::endl;
return (0);
}
0 1 2 3
0
array::cbegin
범위의 첫 번째 요소를 주소 지정하는 const
반복기를 반환합니다.
const_iterator cbegin() const noexcept;
Return Value
범위의 첫 번째 요소 또는 빈 범위의 끝 바로 다음 위치를 가리키는 const
임의 액세스 반복기입니다(빈 범위의 경우 cbegin() == cend()
).
설명
반환 값을 cbegin
사용하면 범위의 요소를 수정할 수 없습니다.
begin()
멤버 함수 대신 이 멤버 함수를 사용하여 반환 값이 const_iterator
임을 보장할 수 있습니다. 일반적으로 다음 예제와 같이 형식 추론 키워드와 함께 auto
사용됩니다. 이 예제에서는 Container
가 begin()
및 cbegin()
를 지원하는 수정 가능(비const
)한 컨테이너로 가정합니다.
auto i1 = Container.begin();
// i1 is Container<T>::iterator
auto i2 = Container.cbegin();
// i2 is Container<T>::const_iterator
array::cend
범위에서 마지막 요소 바로 다음의 위치를 주소 지정하는 const
반복기를 반환합니다.
const_iterator cend() const noexcept;
Return Value
범위 끝의 바로 다음을 가리키는 임의 액세스 반복기입니다.
설명
cend
는 반복기가 범위 끝을 통과했는지 여부를 테스트하는 데 사용됩니다.
end()
멤버 함수 대신 이 멤버 함수를 사용하여 반환 값이 const_iterator
임을 보장할 수 있습니다. 일반적으로 다음 예제와 같이 형식 추론 키워드와 함께 auto
사용됩니다. 이 예제에서는 Container
가 end()
및 cend()
를 지원하는 수정 가능(비const
)한 컨테이너로 가정합니다.
auto i1 = Container.end();
// i1 is Container<T>::iterator
auto i2 = Container.cend();
// i2 is Container<T>::const_iterator
반환된 cend
값은 역참조하면 안 됩니다.
array::const_iterator
제어되는 시퀀스에 대한 상수 반복기의 형식입니다.
typedef implementation-defined const_iterator;
설명
형식은 제어되는 시퀀스의 상수 임의 액세스 반복기로 사용될 수 있는 개체를 설명합니다.
예시
#include <array>
#include <iostream>
typedef std::array<int, 4> MyArray;
int main()
{
MyArray c0 = { 0, 1, 2, 3 };
// display contents " 0 1 2 3"
std::cout << "it1:";
for (MyArray::const_iterator it1 = c0.begin();
it1 != c0.end();
++it1) {
std::cout << " " << *it1;
}
std::cout << std::endl;
// display first element " 0"
MyArray::const_iterator it2 = c0.begin();
std::cout << "it2:";
std::cout << " " << *it2;
std::cout << std::endl;
return (0);
}
it1: 0 1 2 3
it2: 0
array::const_pointer
요소에 대한 상수 포인터의 형식입니다.
typedef const Ty *const_pointer;
설명
이 형식은 시퀀스의 요소에 대한 상수 포인터로 사용될 수 있는 개체를 설명합니다.
예시
#include <array>
#include <iostream>
typedef std::array<int, 4> Myarray;
int main()
{
Myarray c0 = { 0, 1, 2, 3 };
// display contents " 0 1 2 3"
for (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
// display first element " 0"
Myarray::const_pointer ptr = &*c0.begin();
std::cout << " " << *ptr;
std::cout << std::endl;
return (0);
}
0 1 2 3
0
array::const_reference
요소에 대한 상수 참조의 형식입니다.
typedef const Ty& const_reference;
설명
이 형식은 제어되는 시퀀스의 요소에 대한 상수 참조로 사용될 수 있는 개체를 설명합니다.
예시
#include <array>
#include <iostream>
typedef std::array<int, 4> Myarray;
int main()
{
Myarray c0 = { 0, 1, 2, 3 };
// display contents " 0 1 2 3"
for (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
// display first element " 0"
Myarray::const_reference ref = *c0.begin();
std::cout << " " << ref;
std::cout << std::endl;
return (0);
}
0 1 2 3
0
array::const_reverse_iterator
제어되는 시퀀스에 대한 상수 역방향 반복기의 형식입니다.
typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
설명
이 형식은 제어되는 시퀀스의 상수 역방향 반복기로 사용될 수 있는 개체를 설명합니다.
예시
#include <array>
#include <iostream>
typedef std::array<int, 4> Myarray;
int main()
{
Myarray c0 = { 0, 1, 2, 3 };
// display contents " 0 1 2 3"
for (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
// display last element " 3"
Myarray::const_reverse_iterator it2 = c0.rbegin();
std::cout << " " << *it2;
std::cout << std::endl;
return (0);
}
0 1 2 3
3
array::crbegin
역방향 배열의 첫 번째 요소에 대해 const 반복기를 반환합니다.
const_reverse_iterator crbegin() const;
Return Value
역방향 배열에서 첫 번째 요소의 주소를 지정하거나 정방향 배열에서 마지막 요소의 주소를 지정하는 const 역방향 임의 액세스 반복기입니다.
설명
반환 값을 crbegin
사용하면 배열 개체를 수정할 수 없습니다.
예시
#include <array>
#include <iostream>
int main( )
{
using namespace std;
array<int, 2> v1 = {1, 2};
array<int, 2>::iterator v1_Iter;
array<int, 2>::const_reverse_iterator v1_rIter;
v1_Iter = v1.begin( );
cout << "The first element of array is "
<< *v1_Iter << "." << endl;
v1_rIter = v1.crbegin( );
cout << "The first element of the reversed array is "
<< *v1_rIter << "." << endl;
}
The first element of array is 1.
The first element of the reversed array is 2.
array::crend
역방향 배열에서 마지막 요소 다음에 나오는 위치의 주소를 지정하는 상수 반복기를 반환합니다.
const_reverse_iterator crend() const noexcept;
Return Value
역방향 배열에서 마지막 요소 다음의 위치(역방향이 해제된 배열의 첫 번째 요소 앞의 위치) 주소를 지정하는 const 역방향 임의 액세스 반복기입니다.
설명
crend
는 배열과 함께 사용되는 것처럼 array::cend
역방향 배열과 함께 사용됩니다.
반환 값 crend
(적절하게 감소)을 사용하면 배열 개체를 수정할 수 없습니다.
crend
를 사용하여 역방향 반복기가 배열 끝에 도달했는지 여부를 테스트할 수 있습니다.
반환된 crend
값은 역참조하면 안 됩니다.
예시
#include <array>
#include <iostream>
int main( )
{
using namespace std;
array<int, 2> v1 = {1, 2};
array<int, 2>::const_reverse_iterator v1_rIter;
for ( v1_rIter = v1.rbegin( ) ; v1_rIter != v1.rend( ) ; v1_rIter++ )
cout << *v1_rIter << endl;
}
2
1
array::data
첫 번째 요소의 주소를 가져옵니다.
Ty *data();
const Ty *data() const;
설명
멤버 함수는 제어되는 시퀀스에서 첫 번째 요소의 주소를 반환합니다.
예시
#include <array>
#include <iostream>
typedef std::array<int, 4> Myarray;
int main()
{
Myarray c0 = { 0, 1, 2, 3 };
// display contents " 0 1 2 3"
for (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
// display first element " 0"
Myarray::pointer ptr = c0.data();
std::cout << " " << *ptr;
std::cout << std::endl;
return (0);
}
0 1 2 3
0
array::difference_type
두 요소 사이의 부호가 있는 거리의 형식입니다.
typedef std::ptrdiff_t difference_type;
설명
부호 있는 정수 형식은 제어되는 시퀀스에서 두 요소의 주소 간 차이점을 나타낼 수 있는 개체를 설명합니다. 형식 std::ptrdiff_t
의 동의어입니다.
예시
#include <array>
#include <iostream>
typedef std::array<int, 4> Myarray;
int main()
{
Myarray c0 = { 0, 1, 2, 3 };
// display contents " 0 1 2 3"
for (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
// display distance first-last " -4"
Myarray::difference_type diff = c0.begin() - c0.end();
std::cout << " " << diff;
std::cout << std::endl;
return (0);
}
0 1 2 3
-4
array::empty
요소가 있는지 여부를 테스트합니다.
constexpr bool empty() const;
설명
멤버 함수는 N == 0
인 경우에만 true를 반환합니다.
예시
#include <array>
#include <iostream>
typedef std::array<int, 4> Myarray;
int main()
{
Myarray c0 = { 0, 1, 2, 3 };
// display contents " 0 1 2 3"
for (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
// display whether c0 is empty " false"
std::cout << std::boolalpha << " " << c0.empty();
std::cout << std::endl;
std::array<int, 0> c1;
// display whether c1 is empty " true"
std::cout << std::boolalpha << " " << c1.empty();
std::cout << std::endl;
return (0);
}
0 1 2 3
false
true
array::end
제어되는 시퀀스의 끝을 지정합니다.
reference end();
const_reference end() const;
설명
멤버 함수는 시퀀스 끝의 바로 다음을 가리키는 임의 액세스 반복기를 반환합니다.
예시
#include <array>
#include <iostream>
typedef std::array<int, 4> Myarray;
int main()
{
Myarray c0 = { 0, 1, 2, 3 };
// display contents " 0 1 2 3"
for (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
// display last element " 3"
Myarray::iterator it2 = c0.end();
std::cout << " " << *--it2;
std::cout << std::endl;
return (0);
}
0 1 2 3
3
array::fill
배열을 지우고 지정된 요소를 빈 배열에 복사합니다.
void fill(const Type& val);
매개 변수
val
배열에 삽입되는 요소의 값입니다.
설명
fill
은 배열의 각 요소를 지정된 값으로 바꿉니다.
예시
#include <array>
#include <iostream>
int main()
{
using namespace std;
array<int, 2> v1 = { 1, 2 };
cout << "v1 = ";
for (const auto& it : v1)
{
std::cout << " " << it;
}
cout << endl;
v1.fill(3);
cout << "v1 = ";
for (const auto& it : v1)
{
std::cout << " " << it;
}
cout << endl;
}
array::front
첫 번째 요소에 액세스합니다.
reference front();
constexpr const_reference front() const;
설명
멤버 함수는 비어 있지 않아야 하는 제어된 시퀀스의 첫 번째 요소에 대한 참조를 반환합니다.
예시
#include <array>
#include <iostream>
typedef std::array<int, 4> Myarray;
int main()
{
Myarray c0 = { 0, 1, 2, 3 };
// display contents " 0 1 2 3"
for (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
// display first element " 0"
std::cout << " " << c0.front();
std::cout << std::endl;
return (0);
}
0 1 2 3
0
array::iterator
제어되는 시퀀스에 대한 반복기의 형식입니다.
typedef implementation-defined iterator;
설명
이 형식은 제어되는 시퀀스의 임의 액세스 반복기로 사용될 수 있는 개체를 설명합니다.
예시
#include <array>
#include <iostream>
typedef std::array<int, 4> MyArray;
int main()
{
MyArray c0 = { 0, 1, 2, 3 };
// display contents " 0 1 2 3"
std::cout << "it1:";
for (MyArray::iterator it1 = c0.begin();
it1 != c0.end();
++it1) {
std::cout << " " << *it1;
}
std::cout << std::endl;
// display first element " 0"
MyArray::iterator it2 = c0.begin();
std::cout << "it2:";
std::cout << " " << *it2;
std::cout << std::endl;
return (0);
}
it1: 0 1 2 3
it2: 0
array::max_size
요소 수를 계산합니다.
constexpr size_type max_size() const;
설명
멤버 함수는 N
를 반환합니다.
예시
#include <array>
#include <iostream>
typedef std::array<int, 4> Myarray;
int main()
{
Myarray c0 = { 0, 1, 2, 3 };
// display contents " 0 1 2 3"
for (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
// display (maximum) size " 4"
std::cout << " " << c0.max_size();
std::cout << std::endl;
return (0);
}
0 1 2 3
4
array::operator[]
지정된 위치에 있는 요소에 액세스합니다.
reference operator[](size_type off);
constexpr const_reference operator[](size_type off) const;
매개 변수
off
액세스할 요소의 위치입니다.
설명
멤버 함수는 위치 off
에서 제어되는 시퀀스의 요소에 대한 참조를 반환합니다. 해당 위치가 유효하지 않을 경우 동작이 정의되지 않습니다.
또한 멤버 get
가 아닌 함수를 사용하여 요소에 대한 참조를 가져올 수 있습니다 array
.
예시
#include <array>
#include <iostream>
typedef std::array<int, 4> Myarray;
int main()
{
Myarray c0 = { 0, 1, 2, 3 };
// display contents " 0 1 2 3"
for (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
// display odd elements " 1 3"
std::cout << " " << c0[1];
std::cout << " " << c0[3];
std::cout << std::endl;
return (0);
}
0 1 2 3
1 3
array::operator=
제어되는 시퀀스를 바꿉니다.
array<Value> operator=(array<Value> right);
매개 변수
right
복사할 컨테이너입니다.
설명
멤버 연산자는 right
의 각 요소를 제어되는 시퀀스의 해당 요소에 할당하고 *this
를 반환합니다. 이를 사용하여 제어되는 시퀀스를 right
의 제어되는 시퀀스 복사본으로 대체합니다.
예시
#include <array>
#include <iostream>
typedef std::array<int, 4> Myarray;
int main()
{
Myarray c0 = { 0, 1, 2, 3 };
// display contents " 0 1 2 3"
for (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
Myarray c1;
c1 = c0;
// display copied contents " 0 1 2 3"
// display contents " 0 1 2 3"
for (auto it : c1)
{
std::cout << " " << it;
}
std::cout << std::endl;
return (0);
}
0 1 2 3
0 1 2 3
array::pointer
요소에 대한 포인터의 형식입니다.
typedef Ty *pointer;
설명
이 형식은 시퀀스의 요소에 대한 포인터로 사용될 수 있는 개체를 설명합니다.
예시
#include <array>
#include <iostream>
typedef std::array<int, 4> Myarray;
int main()
{
Myarray c0 = { 0, 1, 2, 3 };
// display contents " 0 1 2 3"
for (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
// display first element " 0"
Myarray::pointer ptr = &*c0.begin();
std::cout << " " << *ptr;
std::cout << std::endl;
return (0);
}
0 1 2 3
0
array::rbegin
제어되는 역방향 시퀀스의 시작을 지정합니다.
reverse_iterator rbegin()noexcept;
const_reverse_iterator rbegin() const noexcept;
설명
멤버 함수는 제어되는 시퀀스 끝의 바로 다음을 가리키는 역방향 반복기를 반환합니다. 따라서 역방향 시퀀스의 시작을 지정합니다.
예시
#include <array>
#include <iostream>
typedef std::array<int, 4> Myarray;
int main()
{
Myarray c0 = { 0, 1, 2, 3 };
// display contents " 0 1 2 3"
for (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
// display last element " 3"
Myarray::const_reverse_iterator it2 = c0.rbegin();
std::cout << " " << *it2;
std::cout << std::endl;
return (0);
}
0 1 2 3
3
array::reference
요소에 대한 참조의 형식입니다.
typedef Ty& reference;
설명
이 형식은 제어되는 시퀀스의 요소에 대한 참조로 사용될 수 있는 개체를 설명합니다.
예시
#include <array>
#include <iostream>
typedef std::array<int, 4> Myarray;
int main()
{
Myarray c0 = { 0, 1, 2, 3 };
// display contents " 0 1 2 3"
for (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
// display first element " 0"
Myarray::reference ref = *c0.begin();
std::cout << " " << ref;
std::cout << std::endl;
return (0);
}
0 1 2 3
0
array::rend
제어되는 역방향 시퀀스의 끝을 지정합니다.
reverse_iterator rend()noexcept;
const_reverse_iterator rend() const noexcept;
설명
멤버 함수는 시퀀스의 첫 번째 요소(또는 빈 시퀀스의 끝 바로 다음)를 가리키는 역방향 반복기를 반환합니다. 따라서 역방향 시퀀스의 끝을 지정합니다.
예시
#include <array>
#include <iostream>
typedef std::array<int, 4> Myarray;
int main()
{
Myarray c0 = { 0, 1, 2, 3 };
// display contents " 0 1 2 3"
for (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
// display first element " 0"
Myarray::const_reverse_iterator it2 = c0.rend();
std::cout << " " << *--it2;
std::cout << std::endl;
return (0);
}
0 1 2 3
0
array::reverse_iterator
제어되는 시퀀스에 대한 반대 반복기의 형식입니다.
typedef std::reverse_iterator<iterator> reverse_iterator;
설명
이 형식은 제어되는 시퀀스의 역방향 반복기로 사용될 수 있는 개체를 설명합니다.
예시
#include <array>
#include <iostream>
typedef std::array<int, 4> Myarray;
int main()
{
Myarray c0 = { 0, 1, 2, 3 };
// display contents " 0 1 2 3"
for (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
// display last element " 3"
Myarray::reverse_iterator it2 = c0.rbegin();
std::cout << " " << *it2;
std::cout << std::endl;
return (0);
}
0 1 2 3
3
array::size
요소 수를 계산합니다.
constexpr size_type size() const;
설명
멤버 함수는 N
를 반환합니다.
예시
#include <array>
#include <iostream>
typedef std::array<int, 4> Myarray;
int main()
{
Myarray c0 = { 0, 1, 2, 3 };
// display contents " 0 1 2 3"
for (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
// display size " 4"
std::cout << " " << c0.size();
std::cout << std::endl;
return (0);
}
0 1 2 3
4
array::size_type
두 요소 사이의 부호가 없는 거리의 형식입니다.
typedef std::size_t size_type;
설명
부호 없는 정수 형식은 제어되는 시퀀스의 길이를 나타낼 수 있는 개체를 설명합니다. 형식 std::size_t
의 동의어입니다.
예시
#include <array>
#include <iostream>
typedef std::array<int, 4> Myarray;
int main()
{
Myarray c0 = { 0, 1, 2, 3 };
// display contents " 0 1 2 3"
for (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
// display distance last-first " 4"
Myarray::size_type diff = c0.end() - c0.begin();
std::cout << " " << diff;
std::cout << std::endl;
return (0);
}
0 1 2 3
4
array::swap
이 배열의 내용을 다른 배열과 교환합니다.
void swap(array& right);
매개 변수
right
내용을 교환할 배열입니다.
설명
멤버 함수는 제어된 시퀀스를 오른쪽 간에 *this
교환합니다. 요소 할당을 수행하고 생성자가 에 비례하여 호출합니다 N
.
두 인스턴스 array
를 교환하는 데 사용할 수 있는 비 멤버 swap
함수도 있습니다.
예시
#include <array>
#include <iostream>
typedef std::array<int, 4> Myarray;
int main()
{
Myarray c0 = { 0, 1, 2, 3 };
// display contents " 0 1 2 3"
for (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
Myarray c1 = { 4, 5, 6, 7 };
c0.swap(c1);
// display swapped contents " 4 5 6 7"
for (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
swap(c0, c1);
// display swapped contents " 0 1 2 3"
for (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
return (0);
}
0 1 2 3
4 5 6 7
0 1 2 3
array::value_type
요소의 형식입니다.
typedef Ty value_type;
설명
이 형식은 템플릿 매개 변수 Ty
의 동의어입니다.
예시
#include <array>
#include <iostream>
typedef std::array<int, 4> Myarray;
int main()
{
Myarray c0 = { 0, 1, 2, 3 };
// display contents " 0 1 2 3"
for (const auto& it : c0)
{
std::cout << " " << it;
}
std::cout << std::endl;
// display contents " 0 1 2 3"
for (const auto& it : c0)
{
Myarray::value_type val = it;
std::cout << " " << val;
}
std::cout << std::endl;
return (0);
}
0 1 2 3
0 1 2 3