SlideShare a Scribd company logo
Modern C++
std::initializer_list <initializer_list>
• C++03은 총 4가지 초기화 문법
 예1) std::string s{"apple"}; Point p{0,0};
 예2) std::string s1{s}; int n{0};
 예3) int *a = new int[4]{0,1,2,3};
 예4) std::vector v{"apple", "banana", "cherry"};
 예5) struct S { int x; S(): x{0} {} };
 예6) int* ptr{}; int *pArray[10]{};
 예1 괄호) std::string s("apple");
 예2 =) std::string s = "apple"; int n = 0;
 예3 {}) int arr[4] = {0,1,2,3}; struct tm today = {0};
 예4 생성자) struct S { int x; S(): x(0) {} }
> 동적 배열
초기화 방법 X
• { }로 통일(범용 균등 초기화 universal and uniform initialization)
> 축소 변환 시
오류
Modern C++
std::initializer_list <initializer_list>
UnsortedArrayList::UnsortedArrayList(std::initializer_list<int> ilst)
: mCapacity{ ilst.size() }, mList{ new int[mCapacity] }
{
for (auto item : ilst)
{
PushBack(item);
}
}
initializer_list를 인자로 받는 생성자 가능
Initializer list

More Related Content

What's hot

Example
ExampleExample
Example
유석 남
 
(닷넷, C#기초교육)C#선택적인수, 명명된 인수
(닷넷, C#기초교육)C#선택적인수, 명명된 인수(닷넷, C#기초교육)C#선택적인수, 명명된 인수
(닷넷, C#기초교육)C#선택적인수, 명명된 인수
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
하스켈 프로그래밍 입문
하스켈 프로그래밍 입문하스켈 프로그래밍 입문
하스켈 프로그래밍 입문
Kwang Yul Seo
 
알고리즘과 자료구조
알고리즘과 자료구조알고리즘과 자료구조
알고리즘과 자료구조
영기 김
 
하스켈 모나드
하스켈 모나드하스켈 모나드
하스켈 모나드
Kwang Yul Seo
 
이산치수학 Project6
이산치수학 Project6이산치수학 Project6
이산치수학 Project6KoChungWook
 
11. array & pointer
11. array & pointer11. array & pointer
11. array & pointer웅식 전
 
[KOSSA] C++ Programming - 13th Study - exception handling
[KOSSA] C++ Programming - 13th Study - exception handling[KOSSA] C++ Programming - 13th Study - exception handling
[KOSSA] C++ Programming - 13th Study - exception handling
Seok-joon Yun
 
하스켈 프로그래밍 입문 2
하스켈 프로그래밍 입문 2하스켈 프로그래밍 입문 2
하스켈 프로그래밍 입문 2
Kwang Yul Seo
 
2012 Dm C2 04
2012 Dm C2 042012 Dm C2 04
2012 Dm C2 04seonhyung
 
Data Structure - 1st Study
Data Structure - 1st StudyData Structure - 1st Study
Data Structure - 1st Study
Chris Ohk
 
[방송통신대 컴퓨터과학과] C++ 프로그래밍 과제물 작성
[방송통신대 컴퓨터과학과] C++ 프로그래밍 과제물 작성[방송통신대 컴퓨터과학과] C++ 프로그래밍 과제물 작성
[방송통신대 컴퓨터과학과] C++ 프로그래밍 과제물 작성
Lee Sang-Ho
 
12 1. multi-dimensional array
12 1. multi-dimensional array12 1. multi-dimensional array
12 1. multi-dimensional array웅식 전
 
[방송통신대 컴퓨터과학과] C 프로그래밍 과제물 작성
[방송통신대 컴퓨터과학과] C 프로그래밍 과제물 작성[방송통신대 컴퓨터과학과] C 프로그래밍 과제물 작성
[방송통신대 컴퓨터과학과] C 프로그래밍 과제물 작성
Lee Sang-Ho
 
Key led numberbaseball ppt
Key led numberbaseball pptKey led numberbaseball ppt
Key led numberbaseball ppt
HeeRa Kim
 
ES6 for Node.js Study 3주차
ES6 for Node.js Study 3주차ES6 for Node.js Study 3주차
ES6 for Node.js Study 3주차
승빈이네 공작소
 
Project#1 지식 기반 시스템 Hwp
Project#1 지식 기반 시스템 HwpProject#1 지식 기반 시스템 Hwp
Project#1 지식 기반 시스템 HwpKimjeongmoo
 
RNC C++ lecture_2 operator, if
RNC C++ lecture_2 operator, ifRNC C++ lecture_2 operator, if
RNC C++ lecture_2 operator, if
itlockit
 
R 프로그래밍 기본 문법
R 프로그래밍 기본 문법R 프로그래밍 기본 문법
R 프로그래밍 기본 문법
Terry Cho
 
[신경망기초] 퍼셉트론구현
[신경망기초] 퍼셉트론구현[신경망기초] 퍼셉트론구현
[신경망기초] 퍼셉트론구현
jaypi Ko
 

What's hot (20)

Example
ExampleExample
Example
 
(닷넷, C#기초교육)C#선택적인수, 명명된 인수
(닷넷, C#기초교육)C#선택적인수, 명명된 인수(닷넷, C#기초교육)C#선택적인수, 명명된 인수
(닷넷, C#기초교육)C#선택적인수, 명명된 인수
 
하스켈 프로그래밍 입문
하스켈 프로그래밍 입문하스켈 프로그래밍 입문
하스켈 프로그래밍 입문
 
알고리즘과 자료구조
알고리즘과 자료구조알고리즘과 자료구조
알고리즘과 자료구조
 
하스켈 모나드
하스켈 모나드하스켈 모나드
하스켈 모나드
 
이산치수학 Project6
이산치수학 Project6이산치수학 Project6
이산치수학 Project6
 
11. array & pointer
11. array & pointer11. array & pointer
11. array & pointer
 
[KOSSA] C++ Programming - 13th Study - exception handling
[KOSSA] C++ Programming - 13th Study - exception handling[KOSSA] C++ Programming - 13th Study - exception handling
[KOSSA] C++ Programming - 13th Study - exception handling
 
하스켈 프로그래밍 입문 2
하스켈 프로그래밍 입문 2하스켈 프로그래밍 입문 2
하스켈 프로그래밍 입문 2
 
2012 Dm C2 04
2012 Dm C2 042012 Dm C2 04
2012 Dm C2 04
 
Data Structure - 1st Study
Data Structure - 1st StudyData Structure - 1st Study
Data Structure - 1st Study
 
[방송통신대 컴퓨터과학과] C++ 프로그래밍 과제물 작성
[방송통신대 컴퓨터과학과] C++ 프로그래밍 과제물 작성[방송통신대 컴퓨터과학과] C++ 프로그래밍 과제물 작성
[방송통신대 컴퓨터과학과] C++ 프로그래밍 과제물 작성
 
12 1. multi-dimensional array
12 1. multi-dimensional array12 1. multi-dimensional array
12 1. multi-dimensional array
 
[방송통신대 컴퓨터과학과] C 프로그래밍 과제물 작성
[방송통신대 컴퓨터과학과] C 프로그래밍 과제물 작성[방송통신대 컴퓨터과학과] C 프로그래밍 과제물 작성
[방송통신대 컴퓨터과학과] C 프로그래밍 과제물 작성
 
Key led numberbaseball ppt
Key led numberbaseball pptKey led numberbaseball ppt
Key led numberbaseball ppt
 
ES6 for Node.js Study 3주차
ES6 for Node.js Study 3주차ES6 for Node.js Study 3주차
ES6 for Node.js Study 3주차
 
Project#1 지식 기반 시스템 Hwp
Project#1 지식 기반 시스템 HwpProject#1 지식 기반 시스템 Hwp
Project#1 지식 기반 시스템 Hwp
 
RNC C++ lecture_2 operator, if
RNC C++ lecture_2 operator, ifRNC C++ lecture_2 operator, if
RNC C++ lecture_2 operator, if
 
R 프로그래밍 기본 문법
R 프로그래밍 기본 문법R 프로그래밍 기본 문법
R 프로그래밍 기본 문법
 
[신경망기초] 퍼셉트론구현
[신경망기초] 퍼셉트론구현[신경망기초] 퍼셉트론구현
[신경망기초] 퍼셉트론구현
 

Similar to Initializer list

자료구조05
자료구조05자료구조05
자료구조05
herojoon1378
 
C++ 11 에 대해서 쉽게 알아봅시다 1부
C++ 11 에 대해서 쉽게 알아봅시다 1부C++ 11 에 대해서 쉽게 알아봅시다 1부
C++ 11 에 대해서 쉽게 알아봅시다 1부
Gwangwhi Mah
 
불어오는 변화의 바람, From c++98 to c++11, 14
불어오는 변화의 바람, From c++98 to c++11, 14 불어오는 변화의 바람, From c++98 to c++11, 14
불어오는 변화의 바람, From c++98 to c++11, 14
명신 김
 
3콤비네이션
3콤비네이션3콤비네이션
3콤비네이션
herojoon1378
 
2012 Ds B1 01
2012 Ds B1 012012 Ds B1 01
2012 Ds B1 01seonhyung
 
파이썬 스터디 2주차
파이썬 스터디 2주차파이썬 스터디 2주차
파이썬 스터디 2주차
Han Sung Kim
 
Project#3 How Fast Can We Sort Hwp
Project#3 How Fast Can We Sort HwpProject#3 How Fast Can We Sort Hwp
Project#3 How Fast Can We Sort HwpKimjeongmoo
 
[SOPT] 데이터 구조 및 알고리즘 스터디 - #02 : 스택, 큐, 수식 연산
[SOPT] 데이터 구조 및 알고리즘 스터디 - #02 : 스택, 큐, 수식 연산[SOPT] 데이터 구조 및 알고리즘 스터디 - #02 : 스택, 큐, 수식 연산
[SOPT] 데이터 구조 및 알고리즘 스터디 - #02 : 스택, 큐, 수식 연산
S.O.P.T - Shout Our Passion Together
 
이산수학 C1 프로젝트 7
이산수학 C1 프로젝트 7이산수학 C1 프로젝트 7
이산수학 C1 프로젝트 7pkok15
 
게임프로그래밍입문 5주차
게임프로그래밍입문 5주차게임프로그래밍입문 5주차
게임프로그래밍입문 5주차
Yeonah Ki
 
20150212 c++11 features used in crow
20150212 c++11 features used in crow20150212 c++11 features used in crow
20150212 c++11 features used in crow
Jaeseung Ha
 
[NDC2015] C++11 고급 기능 - Crow에 사용된 기법 중심으로
[NDC2015] C++11 고급 기능 - Crow에 사용된 기법 중심으로[NDC2015] C++11 고급 기능 - Crow에 사용된 기법 중심으로
[NDC2015] C++11 고급 기능 - Crow에 사용된 기법 중심으로
Jaeseung Ha
 
HI-ARC PS 101
HI-ARC PS 101HI-ARC PS 101
HI-ARC PS 101
Jae-yeol Lee
 

Similar to Initializer list (17)

자료구조05
자료구조05자료구조05
자료구조05
 
자료구조05
자료구조05자료구조05
자료구조05
 
3.포인터
3.포인터3.포인터
3.포인터
 
C++ 11 에 대해서 쉽게 알아봅시다 1부
C++ 11 에 대해서 쉽게 알아봅시다 1부C++ 11 에 대해서 쉽게 알아봅시다 1부
C++ 11 에 대해서 쉽게 알아봅시다 1부
 
불어오는 변화의 바람, From c++98 to c++11, 14
불어오는 변화의 바람, From c++98 to c++11, 14 불어오는 변화의 바람, From c++98 to c++11, 14
불어오는 변화의 바람, From c++98 to c++11, 14
 
3콤비네이션
3콤비네이션3콤비네이션
3콤비네이션
 
2012 Ds B1 01
2012 Ds B1 012012 Ds B1 01
2012 Ds B1 01
 
파이썬 스터디 2주차
파이썬 스터디 2주차파이썬 스터디 2주차
파이썬 스터디 2주차
 
Project#3 How Fast Can We Sort Hwp
Project#3 How Fast Can We Sort HwpProject#3 How Fast Can We Sort Hwp
Project#3 How Fast Can We Sort Hwp
 
[SOPT] 데이터 구조 및 알고리즘 스터디 - #02 : 스택, 큐, 수식 연산
[SOPT] 데이터 구조 및 알고리즘 스터디 - #02 : 스택, 큐, 수식 연산[SOPT] 데이터 구조 및 알고리즘 스터디 - #02 : 스택, 큐, 수식 연산
[SOPT] 데이터 구조 및 알고리즘 스터디 - #02 : 스택, 큐, 수식 연산
 
이산수학 C1 프로젝트 7
이산수학 C1 프로젝트 7이산수학 C1 프로젝트 7
이산수학 C1 프로젝트 7
 
게임프로그래밍입문 5주차
게임프로그래밍입문 5주차게임프로그래밍입문 5주차
게임프로그래밍입문 5주차
 
이산수학07
이산수학07이산수학07
이산수학07
 
20150212 c++11 features used in crow
20150212 c++11 features used in crow20150212 c++11 features used in crow
20150212 c++11 features used in crow
 
[NDC2015] C++11 고급 기능 - Crow에 사용된 기법 중심으로
[NDC2015] C++11 고급 기능 - Crow에 사용된 기법 중심으로[NDC2015] C++11 고급 기능 - Crow에 사용된 기법 중심으로
[NDC2015] C++11 고급 기능 - Crow에 사용된 기법 중심으로
 
HI-ARC PS 101
HI-ARC PS 101HI-ARC PS 101
HI-ARC PS 101
 
2012 Dm 07
2012 Dm 072012 Dm 07
2012 Dm 07
 

More from Seonmun Choi

Android Study Summary 2-2
Android Study Summary 2-2Android Study Summary 2-2
Android Study Summary 2-2
Seonmun Choi
 
Item1 c++을 언어들의 연합체로 바라보는 안목은 필수
Item1 c++을 언어들의 연합체로 바라보는 안목은 필수Item1 c++을 언어들의 연합체로 바라보는 안목은 필수
Item1 c++을 언어들의 연합체로 바라보는 안목은 필수
Seonmun Choi
 
핵심 API로 배우는 윈도우 프로그래밍 Chapter01 요약
핵심 API로 배우는 윈도우 프로그래밍 Chapter01 요약핵심 API로 배우는 윈도우 프로그래밍 Chapter01 요약
핵심 API로 배우는 윈도우 프로그래밍 Chapter01 요약
Seonmun Choi
 
Android Study Summary 2-1
Android Study Summary 2-1Android Study Summary 2-1
Android Study Summary 2-1
Seonmun Choi
 
Basic study 4회차
Basic study 4회차Basic study 4회차
Basic study 4회차
Seonmun Choi
 
Basic study 3회차
Basic study 3회차Basic study 3회차
Basic study 3회차
Seonmun Choi
 
Basic study 2회차
Basic study 2회차Basic study 2회차
Basic study 2회차
Seonmun Choi
 
Basic study 1회차
Basic study 1회차Basic study 1회차
Basic study 1회차
Seonmun Choi
 

More from Seonmun Choi (8)

Android Study Summary 2-2
Android Study Summary 2-2Android Study Summary 2-2
Android Study Summary 2-2
 
Item1 c++을 언어들의 연합체로 바라보는 안목은 필수
Item1 c++을 언어들의 연합체로 바라보는 안목은 필수Item1 c++을 언어들의 연합체로 바라보는 안목은 필수
Item1 c++을 언어들의 연합체로 바라보는 안목은 필수
 
핵심 API로 배우는 윈도우 프로그래밍 Chapter01 요약
핵심 API로 배우는 윈도우 프로그래밍 Chapter01 요약핵심 API로 배우는 윈도우 프로그래밍 Chapter01 요약
핵심 API로 배우는 윈도우 프로그래밍 Chapter01 요약
 
Android Study Summary 2-1
Android Study Summary 2-1Android Study Summary 2-1
Android Study Summary 2-1
 
Basic study 4회차
Basic study 4회차Basic study 4회차
Basic study 4회차
 
Basic study 3회차
Basic study 3회차Basic study 3회차
Basic study 3회차
 
Basic study 2회차
Basic study 2회차Basic study 2회차
Basic study 2회차
 
Basic study 1회차
Basic study 1회차Basic study 1회차
Basic study 1회차
 

Initializer list

  • 1.
  • 2. Modern C++ std::initializer_list <initializer_list> • C++03은 총 4가지 초기화 문법  예1) std::string s{"apple"}; Point p{0,0};  예2) std::string s1{s}; int n{0};  예3) int *a = new int[4]{0,1,2,3};  예4) std::vector v{"apple", "banana", "cherry"};  예5) struct S { int x; S(): x{0} {} };  예6) int* ptr{}; int *pArray[10]{};  예1 괄호) std::string s("apple");  예2 =) std::string s = "apple"; int n = 0;  예3 {}) int arr[4] = {0,1,2,3}; struct tm today = {0};  예4 생성자) struct S { int x; S(): x(0) {} } > 동적 배열 초기화 방법 X • { }로 통일(범용 균등 초기화 universal and uniform initialization) > 축소 변환 시 오류
  • 3. Modern C++ std::initializer_list <initializer_list> UnsortedArrayList::UnsortedArrayList(std::initializer_list<int> ilst) : mCapacity{ ilst.size() }, mList{ new int[mCapacity] } { for (auto item : ilst) { PushBack(item); } } initializer_list를 인자로 받는 생성자 가능