포인터 * 참조 & 성능은 같다.
편의성 : 참조>포인터
포인터를 주소를 넘긴다는게 티가 나지만 참조는 아니다.
CONST를 사용해서 수정을 안한다는것 꼭 표기 (참조에서) , 읽기 전용일 때
포인터의 CONST는
const int* ptr -> ptr이 가리키고 있는 가방의 내용물을 바꾸지 못함
int* const info -> 주소값을 고치지못함 (주소값 고정)
참조 -> 별칭 -> 참조하는 대상이 없으면 초기화안됨
참조 사용시 -> define OUT -> func(OUT int& ref)
포인터로 사용하던걸 참조로 넘길려면? -> ByRef(*ptr)
참조를 포인터로 -> BYPTR(&REF)
배열
비주얼 스튜디오 기준 -> 배열은 상수여야한다. gcc는 아니다.
배열의 이름은 배열의 시작주소(시작위치를 가리키는 TYPE* 포인터)
포인터와 참조는 자유자재로 변환이 가능함.
문자열 저장시 포인터는 아무리 문자가 많아도 8바이트 (64비트)
배열은 문자가 12개면 CHAR(12바이트)
배열을 매개변수로 넘길시 배열의 시작주소인 포인터로 넘긴다 (자동변환)
'c++' 카테고리의 다른 글
C++ 개인 필기(7) 생성자 소멸자 (1) | 2024.01.26 |
---|---|
C++ 개인 필기(6) 다중 포인터 및 배열 (2) | 2024.01.25 |
C++ 개인 필기(4) 포인터 (0) | 2024.01.22 |
C++ 개인 필기(3) 반복문 및 스택 (0) | 2024.01.19 |
C++ 개인 필기(2) 비트 및 캐스트 (0) | 2024.01.17 |