int beadArray[MAX] = {4};
이 네 가지의 값으로 모든 보드 쓰레기통을 채우고 배열을 작성해야하고 0으로 두 개의 쓰레기통을 재설정 4 요소, 그리고 4
뭔가 사용하여 벡터를 0으로 나머지, 아니 그들 모두는 미래에 처리하고 더 쉽게 될 것이다 :
std::vector<int> beadArray (MAX, 4); //MAX elements, initialized to 4
beadArray [indexToReset1] = 0; //reset one element
beadArray [indexToReset2] = 0; //reset other element
//print array - C++11
for (int bead : beadArray)
cout << bead << '\t';
//print array - C++03, consider using std::for_each instead
for (vector<int>::const_iterator it = beadArray.begin(); it != beadArray.end(); ++it)
cout << *it << '\t';
비 벡터 솔루션 : 벡터없이
, STL의 agorithms 여전히 사용할 수 :
int beadArray [MAX];
std::fill (beadArray, beadArray + MAX, 4);
beadArray [6] = beadArray [13] = 0; //just the two elements
std::fill (beadArray + 6, beadArray + 13, 0); //the range of elements from 6-13
ostream에 반복자를 사용하는 것입니다 배열을 인쇄하려면 좀 더 영리한 방법 :
std::copy (beadArray, beadArray + MAX, std::ostream_iterator<int> (std::cout, "\t"));
그냥 일반 C++ :
int beadArray [MAX];
for (int i = 0; i < MAX; ++i)
beadArray [i] = 4; //set every element to 4
beadArray [6] = beadArray [13] = 0; //set elements 6 and 13 to 0
for (int i = 0; i < MAX; ++i)
cout << beadArray [i] << '\t'; //print each element separated by tabs
단지 2 인 경우 색인에 액세스하여 ** ** **을 (를) 직접 할당 할 수 없습니다. 아무튼, 당신이 채울 필요가있는 배열 인덱스가 연속적이라면,'std :: fill'을 사용할 수 있습니다. 하지만 나는 2 가지 배열 요소를 사용하기 때문에 이전 방법을 선호한다. – Mahesh