문제

참조가 있는 변수 선언에 대해 혼란스럽습니다.일부 페이지를 읽었는데 그로 인해 더 혼란스러워서 여기에 질문하는 것이 더 좋았습니다.

저는 C++ 인터뷰에서 4가지 질문을 받았습니다.그 중 어느 것이 잘못되었으며 그 이유는 무엇입니까?

(1) int & n;
(2) const int & n=15;
(3) float x; const int & n =x;

어떤 사람이 잘못된 것과 그 이유를 설명해 주시겠습니까?

도움이 되었습니까?

해결책

tl;dr 참조는 선언 시 초기화되어야 합니다(직접 또는 클래스 초기화에서).

int& n;

이것은 참조를 남깁니다. n 초기화되지 않았습니다.참조는 선언 시 초기화되어야 합니다.

const int& n = 15;

여기에는 아무런 문제가 없습니다.에 대한 참조 const int 으로 초기화됩니다 15.

float x; const int& n = x;

그만큼 float 괜찮습니다. 하지만 초기화되지 않은 상태로 두는 것은 나쁜 생각입니다.참조 n 초기화 중 x (부동/적분 변환 적용), 그것도 좋은 생각이 아닙니다.

다른 팁

참조가 항상 초기화되어야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top