Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- LookRotation
- git-lfs
- unity
- c++
- 오브젝트 풀링
- 소스코드 줄번호
- 이진트리
- 유니티 Rotate
- 유니티 InputManager
- c++ 문자열 자르기
- 유니티 리소스매니저
- 유니티 Vector3
- Quaternion.Euler
- 알고스팟
- ML-Agents
- 유니티 시야 가림
- Mathf.Clamp
- 너비 우선 탐색
- 깊이 우선 탐색
- 유니티 Collision
- 유니티 오브젝트 풀링
- Raycast
- InputManager
- LayerMask
- 유니티
- 유니티 머신러닝
- LFS
- 유니티 ResourceManager
- eulerAngles
- 코드블럭 테마
Archives
- Today
- Total
무민은귀여워
널 포인터 ( nullptr ) 본문
반응형
널 포인터는 아무것도 가리키지 않는 포인터이다.
내부 표현은 다르지만 c++는 이 포인터를 소스 코드에서 0을 표현하는데 사용해왔다. 하지만 종종 포인터 상수와 정수 모두 0으로 표현하기 때문에 문제가 발생한다.
따라서 nullptr이라는 키워드를 제공하여 널 포인터를 표현한다.
ex) int형 매개변수를 받는 함수에서 0은 통과되지만, 이런 함수에 nullptr이 들어오는 경우 컴파일러는 에러로 판단한다. 따라서 컴파일러가 분명하고 안전하게 받아들일 수 있도록 nullptr을 사용한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
#include <cstddef>
#include <iostream>
template<class F, class A>
void Fwd(F f, A a)
{
f(a);
}
void g(int* i)
{
std::cout << "Function g called\n";
}
int main()
{
g(NULL); // Fine
g(0); // Fine
Fwd(g, nullptr); // Fine
// Fwd(g, NULL); // ERROR: No function g(int)
}
|
cs |
결과 :
1
2
3
|
Function g called
Function g called
Function g called
|
cs |
반응형
'IT > c, c++' 카테고리의 다른 글
[c++] next_permutation 조합 구하기 (0) | 2019.11.20 |
---|---|
cgame 프레임워크 (0) | 2019.07.16 |
error) c4996 에러 #pragma warning(disable:4996) (0) | 2019.07.12 |
memo) 바이트 패딩 (0) | 2019.07.12 |
rvalue 참조 (0) | 2019.07.12 |
Comments