배열과 반복문에 대한 부분이다. 아직까지는 C++의 기초적인 부분을 이어가고 있다.
brace 를 이용하여 동일하게 배열을 초기화 할 수 있다. 초기화시 배열의 갯수보다 적은 경우 자동으로 초기값이 입력된다. 많으면 컴파일타임에 에러가 발생한다.
배열의 사이즈를 알 수 있는 함수가 추가되었다. 이제 비 직관적인 sizeof 를 이용할 필요가 없어졌다!
만세이!!. for 문이 진화했다. 배열을 인식하여 루프를 돌 수 있게 되었다. 참고로 위에 145는 일일히 계산한 것은 아니다. 적당한 값을 입력하고 실행하여 테스트가 실행하면 계산값을 보여주며 실패하는데 이 숫자를 Test Explorer창에서 확인한 것이다.
이제 장점을 알다 못해 인이 배길 정도의 초기화이다. 자리 수 보다 적게 하면 적절한 초기값이 설절된다.
드디어 다차원 배열이 나오고 역시 초기화로 설명 시작이다. 테스트 코드를 보면 초기화의 기능을 알 수 있을 것이다.
라인 53 부터의 주석은 배열의 사이즈를 초기화를 통해서 지정할 수 있음을 보여준것이다.
STL을 이용한 배열이 나왔다. Vector와의 차이점은 한번 선언하고 나면 크기를 조절할 수 없다. STL array 전통적인 배열과 비교했을때 오버헤드가 없다고 한다.
line 67: array 도 초기화를 동일하게 할 수 있으며,
line 74: 멤버함수 fill을 통해 전체 배열을 동일한 값으로 설정할 수 있다.
line 77: 멤버함수 size를 배열의 크기를 알 수 있다.
배열은 ==, <, > 연사자를 이용해서 비교할 수 있다.
line 86: 두 배열의 사이즈가 같고, 각 요소의 값을 서로 같을 경우에 두 배열은 같다고 판단한다.
line 88: 두 배열의 각 요소를 일대일 비교하면서 서른 다른 값이 처음 나올때 그 두 요소값을 비교한다.
line 90: 전통적인 배열과 다르게 assign 연산자를 통해 배열의 값을 복사 할 수 있다.
line 93: 만약 호환성을 위해 전통적인 방식의 배열을 인자로 넘겨줘야 할 경우 멤버함수 data를 이용해서 얻을 수 있다.
'Language & Toolkit > C++' 카테고리의 다른 글
Beginning C++17 - Chapter 7: Working with Strings (0) | 2019.02.06 |
---|---|
Beginning C++17 - Chapter 6: Pointers and References (0) | 2019.02.06 |
Beginning C++17 - Chapter 4: Making Decisions (0) | 2019.01.27 |
Beginning C++17 - Chapter 3: Working with fundamental data types (0) | 2019.01.27 |
Beginning C++17 - Chapter 2: Introducing Fundamental Types of Data (0) | 2019.01.25 |