개발 노트/오답 노트14 벡터, map 등의 동적 요소를 반복 대입 할 때 auto 자료형를 쓰자 예를 들어 for( auto a : map) { sum = a.first +1} // 벡터나 map의 경우 동적 요소이므로 자료형도 동적인 auto 여야만 한다 와 같이 동적인 벡터, map등의 요소를 반복하여 꺼내어 연산 시 요소 내의 자료형을 미리 알 수 없으므로 auto 자료형을 사용하여 매 반복마다 초기화하여 타입을 동적으로 정해줘야만 한다 2022. 6. 15. 2차원 배열의 경우 선언 시 열은 꼭 입력해주자 int arr[][]; 와 같이 행 열 모두 입력 하지 않고 선언하면 에러가 발생한다 int arr[][3]; 이처럼 반드시 열은 꼭 입력해줘야 한다. 행은 선언시 입력하지 않아도 된다 2022. 6. 13. c++ 배열을 인자로 받는 함수는 함수의 크기를 인자로 같이 받아야한다 int odap(int arr[]) { } 만으로는 배열의 크기를 알 수 없으므로 배열을 활용할 수 없다 함수내의 자원만으로 받은 배열의 크기를 구하는 방법은 없다 배열을 받는게 아니라 그 배열의 포인터로 인자를 받기 때문이다 포인터는 시작 주소만 있고 데이터(배열)의 끝을 모르므로, c++ 에서 함수 작성시, 배열을 인자로 받을때는 아래와 같이 사용하여 int odap(int arr[], int size) 꼭 배열의 크기을 함께 입력 받도록 하자 몇시간을 해도 안됐었는데... 이런 이유였다니... 2022. 6. 13. [c] 전위, 후위 연산자 사용 시 주의사항 하나의 변수를 수식이나 함수의 매개변수로 가져와서 한 식에서 두개 이상 사용할때 가져온 변수에 전위 / 후위 연산자를 사용시 에러가 생길 수 있다 잘못된 사용의 예시 ) sum = num + ++num + 1 add = num + num ++ + ++num Sum( i++, ++i ) // 위 코드처럼 하면 컴파일러마다 답이 다르다 c에서 작업순서를 정하지 않아서 컴파일러와 구동환경에 따라서 결과가 다르게 나올 수 있으므로 위와 같은 사용은 피해야 할 것이다 2022. 6. 3. 이전 1 2 3 4 다음