질문과 답변

변수를 초기화할 때 복합 대입연산자를 쓸 수 있나요? 날짜:2020-2-29 7:28:58 조회수:55
작성자 : 한쇼리
포인트 : 5
가입일 : 2020-02-07 22:51:03
방문횟수 : 4
글 1개, 댓글 0개
소개 : 자기소개를 입력하십시오.
작성글 보기
쪽지 보내기
예를 들어

int sum += i;

요렇게요?

목록보기 삭제 수정 신고 스크랩

소엔 3월1일 11:32:06  

복합 대입 연산자는 변수가 가지고 있는 값에다 우변의 값을 추가로 더 연산합니다.

a += b는 a의 원래값에 b를 더하는 동작을 하는데 그러려면 a의 값이 이미 초기화되어 있어야 합니다.

위 코드에서 sum이 초기화되지 않았으니 복합 대입 연산자를 쓸 수는 없습니다.

int sum = 0로 먼저 초기화한 후에 sum += i로 연산해야 합니다.

사실 변수 선언식에 쓰이는 =은 연산자가 아니라 구분자일 뿐입니다.

+=은 연산자이기 때문에 선언문에는 쓸 수 없습니다.

gcyong 3월4일 10:52:18  

C++ (https://en.cppreference.com/w/cpp/language/initialization)
초기화 구문은 (), =, {} 로 제한됩니다.

C (https://en.cppreference.com/w/c/language/initialization)
초기화 구문은 =, {} 로 제한됩니다.


로그인하셔야 댓글을 달 수 있습니다.