더북(TheBook)

C++11의 리스트 초기화는 더 이상 축소할 수 없다. 실제로 리스트 초기화는 기존 문법과 거의 차이가 없다. 예를 들어 다음 구문을 보라.

int v[] = {1.0, 2.0, 3.0};    // C++11에서 오류: 축소

이 구문은 C++03에서는 합법적이었지만 C++11에서는 그렇지 않다. 왜냐하면 부동소수점 리터럴에서 int로의 변환으로 인해 소수점 이하의 정밀도를 잃어버리기 때문이다. 어쨌든 우리는 이런 보기 좋지 않은 코드를 작성하지 않아야 한다.

배열 작업은 일반적으로 루프에서 수행한다. 예를 들어 벡터 연산으로 x = v-3w를 계산하는 코드는 다음과 같다.

float x[3];
for (int i = 0; i < 3; ++i)
    x[i] = v[i]3.0 * w[i];

더 높은 차원의 배열을 정의할 수도 있다.

float A[7][9];     // 7×9 행렬
int q[3][2][3];    // 3×2×3 배열
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.