일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Yes
- 자바스크립트
- 컴퓨터과학
- 웹개발
- 소프트웨어공학
- 자료구조
- 네트워크보안
- 컴퓨터비전
- 파이썬
- 딥러닝
- 보안
- 버전관리
- 소프트웨어
- 프로그래밍
- 코딩
- 컴퓨터공학
- 2
- 데이터분석
- 머신러닝
- 빅데이터
- 알고리즘
- 데이터과학
- 데이터구조
- 프로그래밍언어
- 클라우드컴퓨팅
- 데이터베이스
- 사이버보안
- 네트워크
- 인공지능
- I'm Sorry
- Today
- Total
목록포인터 (2)
스택큐힙리스트
파일 1.c int a[10]; 파일 main.c: extern int *a; int main() { printf(%d\n, a[0]); return 0; } 세그멘테이션 폴트가 발생합니다! 무엇이 잘못되고 있는 걸까요?답변 1정상적으로 작동합니다. 그러나 이는 배열 자체가 포인터가 아니라는 것을 의미하지 않습니다. 따라서 배열을 포인터처럼 다루는 경우, 실제로는 배열 유형을 int 객체의 주소를 보유한 포인터처럼 다루는 것입니다. 배열이 실제로는 int 객체가 아닌 int 객체의 시퀀스이므로, 실제로 유효한 위치를 가리키지 않는 메모리 위치를 간접 참조하려고 시도하고 있는 것입니다 (즉, array의 첫 번째 슬롯은 0과 같은 숫자 정수 값이며, 이는 NULL을 간접 참조하는 것과 같습니다). 그래서 ..
스마트 포인터는 무엇이고 언제 사용해야 할까요?답변 1업데이트이 답변은 다소 오래되어 그 당시에는 Boost 라이브러리에서 제공하는 스마트 포인터가 '좋은' 것으로 여겨졌기 때문에 설명합니다. 그러나 C++11 이후로 표준 라이브러리에서 충분한 스마트 포인터 타입을 제공하므로, std::unique_ptr , std::shared_ptr 및 std::weak_ptr 를 사용하는 것이 좋습니다.그리고 std::auto_ptr도 있었습니다. 그것은 scoped pointer와 매우 유사했지만, 더욱 위험한 특별한 복사 기능도 가지고 있어서 소유권이 예기치 않게 이전됩니다.이것은 C++11에서 사용되지 않으며, C++17에서 제거되었으므로 사용하지 마십시오. std::auto_ptr p1 (new MyObje..