게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
C++ 레퍼런스를 리턴하는 함수 질문드립니다.
게시물ID : programmer_20077짧은주소 복사하기
작성자 : Intel
추천 : 0
조회수 : 394회
댓글수 : 3개
등록시간 : 2017/03/26 15:38:24
옵션
  • 본인삭제금지
#include <iostream>
using namespace std;

int& maxInt(int a, int b);

int main(void)
{
   int i = 12, j = 13;
   int k = maxInt(i, j);
   
   printf("&k = %p, maxInt() = %p\n", &k, &maxInt(i, j));
   printf("&i = %p, &j = %p\n", &i, &j);
   
}

int& maxInt(int a, int b){
printf("func  &a = %p, &b = %p\n", &a, &b);
    return (a>b) ? a : b;
}


이 소스코드에서, 

첨부 이미지

maxInt() 리턴값의 주소와 j의 주소가 서로 같지 않은데

저는 레퍼런스를 리턴하는 함수는

여기서는 maxInt 함수거 b의 레퍼런스를 리턴하므로, 

b의 레퍼런스는 j이므로  int k = maxInt(i, j)   는  int k = j 와 똑같이 되는건줄 알고 있는데,

그렇다면 &maxInt(i, j)와 &j의 값이 서로 같아야 하는것 아닌가요?
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호