태그: 포인터
8편
-
C 언어 시리즈 #05 — 포인터 연산·엄격 별칭(strict aliasing)·유효성
포인터 덧셈·one-past-the-end, 엄격 별칭으로 최적화가 깨지는 경로, restrict 계약, effective type·memcpy 패턴, C23 provenance 개념을 엮어 UB·-fstrict-aliasing·Sanitizer 대응까지 연결합니다.
-
C 언어에서 버그가 생기는 자리: 메모리 레이아웃, 포인터 aliasing, UB, 링킹
C 언어의 메모리 모델·포인터·동적 할당부터 시스템 프로그래밍까지 실무 관점으로 정리합니다. C23 표준, gcc·clang 활용법, undefined behavior 함정 회피 전략을 포함합니다.
-
C++ 객체 슬라이싱 에러: vector<Base>에 담을 때 잘리는 이유와 clone 패턴
파생 객체를 기반 클래스 값으로 넘기거나 vector<Base>에 담는 순간 파생 멤버와 가상 함수 동작이 잘려 나가는 슬라이싱이 왜 생기는지 보여주고, 참조·스마트 포인터·clone() 패턴과 복사 생성자 delete로 막는 법을 다룹니다.
-
C++ std::optional vs 포인터: 값이 없을 수 있는 반환값을 어떻게 표현할까
값이 없을 수 있는 반환값이나 선택적 매개변수를 nullptr 포인터 대신 std::optional로 표현하면 무엇이 안전해지는지 비교합니다. 반대로 다형성이나 큰 객체를 소유하지 않고 참조할 때는 왜 포인터가 맞는지 메모리 레이아웃과 벤치마크로 설명합니다.
-
C++ 포인터 처음 배우기: &와 * 연산자, swap·배열 순회, 초보자가 하는 첫 실수
변수는 집, 주소는 집 주소라는 비유로 &와 * 연산자가 하는 일을 그림과 함께 설명하고, swap 함수와 배열 순회로 포인터를 직접 써 봅니다. 초기화하지 않은 포인터, 댕글링 포인터, new 후 delete 누락 같은 첫 실수도 짚습니다.
-
C++ 기술 면접 질문 30선: 포인터·RAII·가상 함수·STL·동시성 답변 정리
C++ 기술 면접에서는 포인터·RAII·가상 함수·STL·동시성 등 개념을 구두로 설명할 수 있어야 합니다. 이 글에서는 자주 나오는 질문 30가지와 답변 흐름을 주제별로 묶고, 면접관이 이어서 묻는 심화 내용까지 정리했습니다.
-
[Go 2주 완성 #02] Day 3~4: 메모리와 자료구조 - 포인터 연산은 없지만 포인터는 있다
Go에는 포인터는 있지만 포인터 연산은 없다는 점에서 출발해 C++과 포인터·함수 인자 전달을 비교합니다. 값 타입인 배열과 동적 배열인 슬라이스의 내부 구조, 두 슬라이스가 같은 배열을 공유해서 생기는 버그, map 사용법을 예제로 봅니다.
-
C++ 스택 vs 힙 | 재귀에서 프로그램이 죽는 이유와 스택 오버플로우 사례
깊은 재귀로 프로그램이 갑자기 죽는 사례에서 출발해 스택과 힙이 메모리에서 어떻게 다르게 동작하는지, 힙 할당이 느린 이유, delete와 delete[]를 헷갈리는 실수, 언제 스택을 쓰고 언제 힙에 할당할지 판단하는 기준을 예제로 설명합니다.