2017-10-15 1 views
0

나는 차이 무엇을 얻을 수 있습니까?차이는 [C는 ++]

감사합니다.

+0

* "나는 행을 찾기 위해) 크기는을 (사용할 수 그리고 그들 모두를위한 칼? "- 아니. 그 차이를 열거하는 것에 관해서는, 그것이 너무 광범위하거나 그렇지 않다면 나는 결정하지 못한다. – StoryTeller

+1

하나는 컨테이너이고 다른 하나는 프리미티브 2D 배열입니다. – Charles

+1

원시 2D 배열 일 수도 있고, 가변 길이 배열 일 수도 있으며, 그 놈은 원시적이라고 부를 수 없을 정도로 많은 백엔드 이상함을 필요로합니다. – user4581301

답변

0

큰 차이가있다 :

std::vector< std::vector<bool> > matrix;는 - 다른 std::vectorbool의 -s를 포함 할 수 있습니다 유형 std::vector의 객체를 정의합니다.

표준 라이브러리로 정의 된 컨테이너를 사용합니다. 그것은 당신이 사용할 수있는 여러 가지 방법으로 방대한 API를 가지고 있습니다. matrix.size()이 그 중 하나입니다.

bool matrix[n][m]; - n 개의 배열을 정의합니다.이 배열은 m bools입니다.

여기에서 matrix은 Object가 아니며 기본 유형입니다. 여기서는 matrix.size()을 사용할 수 없지만 sizeof(matrix)/sizeof(matrix[0][0])을 사용하면 그 안에 총 bool 수를 얻을 수 있습니다.

내 권장 사항은 가능한 표준 라이브러리 컨테이너를 사용하는 것입니다. 제대로, 당신이 대신 원시적 배열의 std::array 사용할 수 있습니다 제안 된 의견의 일부로서

이는 결국 여기있어 무엇 :)입니다

+0

'std :: array'에서 nod를 가리키고 asker를 가리 키도록 권장합니다. – user4581301

+0

@ user4581301, 올바른 추천을 추가했습니다. –