티스토리 뷰
함수에 변수를 전달 하는 방법은 두가지가 있다. 그중에서 예제를 통해 포인터로 변수를 전달하는 방법을 알아보자.
예제
void func1(int *a) {
cout << *a << endl;
}
void func2(int &a) {
cout << a << endl;
}
void call() {
int a = 5;
func1(&a);
func2(a):
}
위의 두가지 방법은 결과가 같다.
둘의 차이는 아규먼트를 NULL로 전달 가능하냐는 것이다.
func1(NULL);
func2(NULL); //error
밑에처럼 NULL로 호출하는 경우 2번의 케이스에서는 컴파일 에러가 난다. NULL로 전달하는것을 막고 싶다면 func2처럼 구현하면 된다.
'C++' 카테고리의 다른 글
[C++] struct와 class (0) | 2019.06.26 |
---|---|
[C++] move 함수 이해하기 - 기초 (0) | 2019.06.24 |
[C++] 헷갈리기 쉬운 포인터 변수의 소멸조건 (0) | 2019.04.30 |
[C++] namespace 란 무엇인가? (0) | 2019.04.21 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 보편 참조
- detach
- 람다
- CPP
- C
- Effective
- 보편참조
- C++
- async
- Join
- 발아시기
- std::forward
- forward
- 포인터
- Forwarding
- Effective Modern C++
- MOVE
- 다이소
- std::move
- Perfect
- auto
- Unreal
- Future
- C++11
- Modern
- thread
- Override
- const
- Overloading
- C++14
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함