inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문

ref, out 강의에서 질문

해결된 질문

382

움직이는YM

작성한 질문수 86

0

Rookiss님 안녕하세요?

c++ 강의를 듣고 다음을 기다릴 수 없어 c#까지 넘어오게 되었습니다.

항상 좋은 강의 기대하고 있습니다.

c# ref 와 out 강의에서 궁금한점이 있습니다.

메서드에서 return을 하나밖에 해줄 수 없는 점을 극복하기 위해 out 키워드가 있다고 하셨습니다

질문 1.

c++에서 

#include <iostream>

using namespace std;

void add(int& a, int& b)

{

a++;

b++;

}

int main()

{

int a = 1;

int b = 2;

add(a, b);

cout << a << endl;

cout << b << endl;

return 0;

}

위와 같은 코드로 레퍼런스 &를 사용하면 return이 마치 2개인 것 같은 효과를 낼 수 있습니다. 하지만 c++ 수업에서는 return을 여러개 한다는 것을 강조? 말씀하시지 않았는데 왜 그런지 궁금합니다. C#은 c++과 다른 목적으로 만들어진 언어이기 때문에 여러개의 return 값은 갖는 것이 중요한 것인가요???

질문 2. 

        static void Divide2(int a, int b, ref int result1, ref int result2)

        {

            result1 = a / b;

            result2 = a % b; 

        }

            int result1 = 0;

            int result2 = 0;

            _6_ref와out.Divide2(10, 3, ref result1, ref result2);

            Console.WriteLine(result1);

            Console.WriteLine(result2);

위와 같이 ref을 이용해서도 마치 return이 여러개인 것처럼 작동할 수 있는데 out이란 키워드를 따로 만든 이유가 있나요?

물론 out을 사용할 때는 result1과 result2의 초기화가 필요없었지만 ref를 사용하면 초기화가 필수적이었습니다.

이런 차이 때문인건가요?

         

C#

답변 1

1

Rookiss

하지만 c++ 수업에서는 return을 여러개 한다는 것을 강조?
말씀하시지 않았는데 왜 그런지 궁금합니다.
C#은 c++과 다른 목적으로 만들어진 언어이기 때문에
여러개의 return 값은 갖는 것이 중요한 것인가요???

-> 강의를 만들 때 아주 심도있게 대본을 짜고 만드는게 아니라
그냥 그때 그때 생각나는 것을 얘기하기 때문에
조금씩 차이가 있을 수 있습니다 ㅎㅎ
C++도 마찬가지로 단일 return으로 부족할 때
reference나 pointer를 이용해서 결과를 함수로 외부 전달하는 것은 동일합니다.
물론 정말 원한다면 tuple과 같이 데이터를 묶어서 리턴하는 방법도 있긴 합니다.

0

움직이는YM

답변 감사합니다

Generic에 대한 질문 있습니다.

0

96

2

2022 버전에 커뮤니티 버전이 없는데 2026 버전으로 해도 무관?

0

201

2

다형성 캐시 문제

0

113

3

.

0

71

1

프로퍼티 강의 질문 있습니다.

0

78

1

이후 커리 질문

0

86

1

static

0

91

2

강의에는 새로운 클래스 파일을 생성하면...

0

72

1

생성자의 이름 선언

0

65

1

9:03 Divide(10 , 3) 부분 질문입니다

0

88

1

깃허브 관련 질문 있습니다.

0

239

1

비쥬얼 스튜디오 업데이트가 된건가요..? 매개변수 오류 관련 질문

0

249

1

C# 시리즈 || C++ 시리즈 자료구조 강의에 대한 질문입니다!

0

306

2

Activator 질문있습니다

0

332

1

이넘 타임 선언 질문

0

346

1

Sort 오름차순, 내림차순

0

323

1

질문 있습니다.

0

249

1

팩토리얼 문제

0

270

1

Sort함수 질문있습니다.

0

265

1

다형성 함수 질문 있습니다.

0

221

1

질문이 있습니다.

0

227

1

섹션2 연습문제 질문입니다.

0

214

1

안녕하세요~서버에 대해 질문이 있습니다.

1

282

1

텍스트 색깔이 제 편집기와 달라서 수강에 어려움이 있습니다ㅜㅜ

0

394

1