์ƒˆ์†Œ์‹

๋ฐ˜์‘ํ˜•
C++/๋ฌธ๋ฒ•

C++ Initializer_list

  • -
๋ฐ˜์‘ํ˜•

๐Ÿ‘‰ ํฌ์ŠคํŒ… ๋‚ด์šฉ

  • Initializer_list์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž


๐Ÿ‘‰ ์‚ฌ์šฉํ•ด์•ผํ•˜๋Š” ์ด์œ 

๋งŒ์•ฝ ์šฐ๋ฆฌ๊ฐ€ N๊ฐœ์˜ ๋ฌธ์ž๋ฅผ ๋ฐ›๊ณ , ์ด๋ฅผ ์ „๋ถ€ ๋”ํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด๋ณธ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ž

โœ… ์ฝ”๋“œ

#include <iostream>
#include <vector>

class Sum
{
public:
	Sum(std::vector<int> vals)
	{
		int sum = 0;
		for (int val : vals)
			sum += val;
		std::cout << sum << std::endl;
	}
};

int main()
{
	std::vector<int> sumList{ 1,2,3,4 };
	Sum result(sumList);
}

 
โœ… ์‹คํ–‰๊ฒฐ๊ณผ

// 10

์ด์ฒ˜๋Ÿผ ์šฐ๋ฆฌ๊ฐ€ ๊ณ„์‚ฐํ•  ๊ฐ’๋“ค์„ vector๋‚˜ ๋ฐฐ์—ด ํ˜•ํƒœ๋กœ ์ „๋‹ฌํ•ด์„œ ๊ณ„์‚ฐํ•˜๋Š”๊ฒƒ์ด ์ผ๋ฐ˜์ ์ผ ๊ฒƒ์ด๋‹ค.
๊ตณ์ด ์ด๋Ÿฐ๋ฐฉ๋ฒ•์—†์ด C++ 11์—์„œ๋ถ€ํ„ฐ ์ง€์›ํ•œ Initializer_list๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค

๐Ÿ‘‰ ์‚ฌ์šฉ๋ฐฉ๋ฒ•

โœ… ์ฝ”๋“œ

#include <iostream>
#include <initializer_list>		// Include๋ฅผ ํ•ด์ค˜์•ผ์ง€๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

class Sum
{
public:
	// std::initializer<Type> name ํ˜•ํƒœ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
	Sum(std::initializer_list<int> vals)
	{
		int sum = 0;
		for (int val : vals)
			sum += val;
		std::cout << sum << std::endl;
	}
};

int main()
{
	Sum result{ 1,2,3,4 };
}

 
โœ… ์‹คํ–‰๊ฒฐ๊ณผ

// 10

๋™์ผํ•œ ์‹คํ–‰๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๊ธฐ์— ๋ณด๋‹ค ๊ฐ„ํŽธํ•œ ๋ฌธ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋Š”๊ฒƒ์ด ํšจ์œจ์ ์ด๋‹ค 

 

initializer_list ํด๋ž˜์Šค

Visual Studio์—์„œ Microsoft์—์„œ ๊ตฌํ˜„ํ•œ C++ ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ initializer_list ํด๋ž˜์Šค์— ๋Œ€ํ•œ ์ฐธ์กฐ์ž…๋‹ˆ๋‹ค.

learn.microsoft.com

๋ฐ˜์‘ํ˜•
Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.