일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- write
- json
- go
- GO 언어
- FOR
- install
- JavaScript
- channel
- Sync
- window
- tcp
- go언어
- 리뷰
- Linux
- Python
- 영화
- 책
- range
- windows
- C
- Golang
- c++
- File
- Callback
- bitcoin
- http
- API
- package
- mutex
- Close
- Today
- Total
목록스마트포인터 (2)
Code Habit
스마트 포인터는 c++에서 메모리 관리를 자동화하고 안전하게 처리하기 위한 포인터 유형이다. 스마트 포인터는 메모리 누수와 댓글 포인터( 포인터가 가리키는 메모리가 해제된 후에도 그 주소를 참조하는 문제 ) 방지해준다. 1. std::shared_ptr - reference count를 사용하여 특정 메모리를 참조하는 포인터의 개수를 관리하며 count가 0이 되면 자동으로 메모리를 해제하여 메모리 누수를 방지한다. #include #include int main() { std::shared_ptr ptr1 = std::make_shared(42); // ref 1 std::shared_ptr ptr2 = ptr1; // ref 2 std::cout
Modern C++은 C++ 11 이 후의 버전을 가리키며 더 효율적으로 코드를 작성하고 안정성 및 최적화를 위해 등장했다. 1. auto 키워드 - auto 키워드를 이용하여 변수형을 자동으로 추론할 수 있다. auto n = 10; // int형으로 추론 auto str = "coding"; // char* 형식으로 추론 2. 범위 기반 루프 ( for 문 ) - 범위 기반 루프를 사용하여 컨테이너의 모든 요소를 간편하게 순회할 수 있다. std::map data; data[0] = "first"; data[1] = "second"; data[2] = "third"; for (auto& fit : data) { auto& idx = fit.first; auto& value = fit.second; /..