복사와 참조
140
작성한 질문수 27
강사님 안녕하세요.
c++에서는 매개변수를 참조(포인터)냐 지역으로 어떻게 처리하냐에 따라서 출력결과 값이 달라지는데
c#에서는 클래스를 동적할당 하기만 하면 매개변수로 들어갈시 컴파일러가 알아서
매개변수를 참조하는 용도로 변경하나요?
//c++코드
class Knight
{
public:
int hp;
};
void Kill_knight1(Knight knight)
{
knight.hp = 0;
}
void Kill_knight2(Knight& knight)
{
knight.hp = 0;
}
void Kill_knight3(Knight* knight)
{
knight->hp = 0;
}
int main() {
Knight knight;
knight.hp = 100;
Kill_knight1(knight);
cout << "지역 처리" << endl;
cout << knight.hp << endl;
Kill_knight2(knight);
cout << "참조 처리" << endl;
cout << knight.hp << endl;
Knight* knight_alloc = new Knight();
Kill_knight3(knight_alloc);
cout<<"포인터처리" <<endl;
cout << knight_alloc->hp << endl;
return 0;
}
답변 1
0
이전 질문과 동일하므로 링크로 대체합니다.
https://www.inflearn.com/questions/109300
C#에서 class Knight를 사용하면
C++ 기준으로 Knight* 과 같은 포인터(즉 주소값)를
사용하는 것과 동일하게 동작한다!
로 기억해주시면 편합니다.
Generic에 대한 질문 있습니다.
0
97
2
2022 버전에 커뮤니티 버전이 없는데 2026 버전으로 해도 무관?
0
203
2
다형성 캐시 문제
0
113
3
.
0
71
1
프로퍼티 강의 질문 있습니다.
0
79
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
347
1
Sort 오름차순, 내림차순
0
323
1
질문 있습니다.
0
249
1
팩토리얼 문제
0
270
1
Sort함수 질문있습니다.
0
265
1
다형성 함수 질문 있습니다.
0
221
1
질문이 있습니다.
0
228
1
섹션2 연습문제 질문입니다.
0
214
1
안녕하세요~서버에 대해 질문이 있습니다.
1
283
1
텍스트 색깔이 제 편집기와 달라서 수강에 어려움이 있습니다ㅜㅜ
0
395
1





