std::initializer_list<T>::data
cppreference.net에서
const T* data() const noexcept;
|
(C++11부터) (C++14부터 constexpr) |
|
initializer_list의 첫 번째 요소에 대한 포인터를 얻습니다. return begin();와 동일합니다.
초기화 목록이 비어 있으면 data() 및 end()의 반환 값은 불특정이지만 동일합니다.
반환 값
초기화 목록의 첫 번째 요소에 대한 포인터
복잡도
상수
참고 사항
2026-05-27 기준으로, libstdc++는 data 함수의 추가를 P3016R6에서 C++11에 대한 결함 보고서로 처리하지 않았으며, C++26부터만 data을 추가합니다.
예제
이 코드 실행
#include <initializer_list>
int main()
{
static constexpr auto il = {42, 24};
static_assert(il.data() == il.begin());
static_assert(*il.data() == 0x2A);
static_assert(il.data()[1] == 030);
}
결함 보고서
다음 동작 변경 결함 보고서는 이전에 발행된 C++ 표준에 소급하여 적용되었습니다.
| DR | 적용 대상 | 발행된 동작 | 올바른 동작 |
|---|---|---|---|
| P3016R6 | C++11 | std::initializer_list에 data 함수가 없음
|
추가됨 |
참조 항목
(C++11) |
첫 번째 요소에 대한 포인터 반환 (공개 멤버 함수) |
(C++11) |
마지막 요소 다음 위치에 대한 포인터 반환 (공개 멤버 함수) |