분류 전체보기34 [Effective C++ 정리 #11] operator= 시 자기 자신 대입 유의! 이 글은 『Effective C++』를 읽고 개인적으로 공부한 내용을 정리한 기록입니다.저는 컴퓨터공학을 전공하지 않았으며, 프로그래밍을 공부하는 과정에서의 이해와 생각을 정리하기 위해 글을 작성하고 있습니다.따라서 내용 중 일부에 오류나 부정확한 설명이 있을 수 있으며, 피드백은 언제든지 환영합니다. 확인 후 수정하도록 하겠습니다.전문적인 해설이 아닌 개인적 시선에서의 정리임을 참고하고 읽어주시면 감사하겠습니다.[Effective C++ 정리 #11] 자기 자신에게 대입해도 안전한 코드 만들기: operator=의 함정과 해법C++에서 operator=를 오버로딩할 때 반드시 고려해야 할 상황이 있습니다. 바로 객체가 자기 자신에게 대입되는 경우(self-assignment)입니다. 처음 보면 w = .. 2025. 6. 21. GitHub 사용 시 SSH Key 등록 방법! GitHub에서 SSH 방식 인증과 다중 키 설정 방법Github는 더 이상 사용자 이름과 비밀번호를 이용한 인증을 지원하지 않으며, 보다 안전한 방식인 SSH 인증 또는 Personal Access Token 사용을 권장합니다. 이 글에서는 SSH 방식을 중심으로 설명하며, 특히 회사 계정 및 개인 계정 등 여러개의 GitHub 계정을 사용하는 경우 어떻게 SSH 키를 설정하고 관리할 수 있는지를 설명합니다!참고로 사용자 이름과 비밀번호로 클론을 시도하면 아래와 같은 에러를 얻을 수 있습니다. 만약 아래와 같은 에러를 얻은 상황이라면 SSH 키를 등록하면 해결됩니다.remote: Support for password authentication was removed on August 13, 2021.re.. 2025. 6. 20. [Effective C++ 정리 #10] 대입 연산자의 return *this의 의미?! 이 글은 『Effective C++』를 읽고 개인적으로 공부한 내용을 정리한 기록입니다.저는 컴퓨터공학을 전공하지 않았으며, 프로그래밍을 공부하는 과정에서의 이해와 생각을 정리하기 위해 글을 작성하고 있습니다.따라서 내용 중 일부에 오류나 부정확한 설명이 있을 수 있으며, 피드백은 언제든지 환영합니다. 확인 후 수정하도록 하겠습니다.전문적인 해설이 아닌 개인적 시선에서의 정리임을 참고하고 읽어주시면 감사하겠습니다.[Effective C++ 정리 #10] 대입 연산자는 항상 *this를 반환하라C++에서 연산자 오버로딩을 구현할 때, 특히 operator= 같은 대입 연산자를 다룰 땐 반환값으로 *this를 참조 형태로 리턴하는 것이 관례입니다. 이것은 단순한 스타일이 아니라, 문법과 기능적인 측면 모두에.. 2025. 6. 20. C/C++ 참조자(reference) 내용 정리 참조자: 메모리 주소를 숨기고 안정성을 얻다C++의 참조자(reference)는 단순히 "포인터보다 쉬운 문법" 그 이상입니다. 실제로 참조자는 C++의 타입 시스템과 메모리 모델에 깊숙이 통합되어 있고, 복사 비용을 줄이고, 인터페이스의 안전성을 높이며, 원본 수정 제어까지 담당하는 중요한 개념입니다. 이번 글에서는 참조자의 기본 개념부터 심화 활용, 내부 작동 방식까지 심층적으로 다뤄봅니다.참조자의 정의: 또 하나의 이름참조자란 이미 존재하는 객체의 또 다른 이름(alias)입니다. 일단 어떤 변수와 결합되면, 그 변수의 메모리 공간을 함께 공유합니다.int x = 42;int& r = x; // r은 x의 또 다른 이름 이후 r을 통해 값을 읽거나 수정하면 실제로는 x의 메모리에 직접 접근하는 것.. 2025. 6. 19. [Effective C++ 정리 #9] 생성자에서 가상 함수 호출 문제 및 해결 방법 이 글은 『Effective C++』를 읽고 개인적으로 공부한 내용을 정리한 기록입니다.저는 컴퓨터공학을 전공하지 않았으며, 프로그래밍을 공부하는 과정에서의 이해와 생각을 정리하기 위해 글을 작성하고 있습니다.따라서 내용 중 일부에 오류나 부정확한 설명이 있을 수 있으며, 피드백은 언제든지 환영합니다. 확인 후 수정하도록 하겠습니다.전문적인 해설이 아닌 개인적 시선에서의 정리임을 참고하고 읽어주시면 감사하겠습니다.[Effective C++ 정리 #9] 생성자나 소멸자에서 가상 함수를 호출하지 마라Java나 C#처럼 가상 함수 기반 객체 지향 프로그래밍에 익숙한 사람이라면, C++에서 가상 함수를 사용할 때 뜻밖의 함정에 빠지기 쉽습니다. 바로 생성자와 소멸자에서는 가상 함수가 다형적으로 동작하지 않는다는.. 2025. 6. 19. C/C++ 포인터(pointer) 내용 정리 C++ 포인터: 단순한 주소가 아닌 메모리 제어의 핵심포인터는 단순히 "주소를 저장하는 변수"로 시작하지만, C++에서는 이보다 훨씬 깊은 의미를 가집니다. 이번 글에서는 포인터의 기본을 넘어, 메모리 모델, 포인터 산술, const 포인터, 함수 포인터, 동적 할당 관리까지 보다 심도 있게 다룹니다.포인터는 메모리 모델 그 자체C++은 하드웨어와 밀접하게 맞닿아 있는 언어입니다. 포인터를 이해한다는 것은 결국 메모리의 구조 자체를 이해한다는 것과 같습니다. 모든 변수는 물리적 메모리 어딘가에 주소를 가지고 있고, 포인터는 그 주소를 직접 다룰 수 있게 합니다.int x = 42;int* p = &x; 위에서 p는 스택 메모리 상의 변수 x의 주소를 저장합니다. 이 주소를 역참조(*p)하면 x의 값을 읽.. 2025. 6. 19. 이전 1 2 3 4 5 6 다음