태그: static
9편
-
static·extern·const·constexpr·inline·volatile·mutable: C++ 키워드가 실제로 바꾸는 것
C++ 주요 키워드 정리. static, extern, const, constexpr, inline, volatile, mutable의 의미와 사용법, 링키지와 저장 기간, 메모리 레이아웃, 키워드 조합 패턴을 다룹니다.
-
C++ static 함수 정리: 클래스 static 멤버, 파일 스코프 static, 내부 링키지와 ODR
함수에 붙는 static은 클래스 static 멤버 함수와 파일 스코프 static 함수라는 전혀 다른 두 뜻을 가집니다. this가 없는 멤버 함수, 내부 링키지와 익명 네임스페이스 비교, 헤더의 static 정의가 ODR과 코드 크기에 주는 영향을 예제로 봅니다.
-
C++ 정적 초기화 순서 문제(Static Initialization Order Fiasco): 재현과 함수 내 static·constinit 해결
다른 .cpp 파일의 전역 객체가 아직 초기화되지 않은 상태에서 쓰여 크래시가 나는 Static Initialization Order Fiasco를 링크 순서만 바꿔 재현하고, 함수 내 static, constinit, Nifty Counter 같은 해결책을 비교합니다.
-
C++ 0 초기화: 전역 int x;는 0이고 지역 변수는 쓰레기 값인 이유
같은 int x;라도 전역·정적 변수는 0이 되고 지역 변수는 쓰레기 값이 되는 이유를 0 초기화 규칙으로 설명합니다. 정적 초기화가 0 초기화, 상수 초기화, 동적 초기화 순으로 진행되는 과정과 정적 초기화 순서 문제, 명시적 0 초기화 방법을 다룹니다.
-
C++ static 멤버 변수와 함수: 초기화 순서, 스레드 안전성, C++17 inline static
C++ static 멤버 변수·함수의 동작 원리를 싱글톤, 카운터, 설정 관리자, 팩토리 실전 예제로 정리합니다. 초기화 순서 함정, 스레드 안전성, C++17 inline static까지 다룹니다.
-
C static 심화 가이드 — 번역 단위·정적 초기화·TLS·inline·실무 패턴
static 지역·전역·함수를 넘어 번역 단위와 링커 심볼, 정적 초기화 순서, _Thread_local(TLS), static/extern inline 연결 규칙, 프로덕션 모듈 경계 패턴까지 정리한 C 저장 기간 심화 글입니다.
-
C++ 링키지와 저장 기간: external·internal 연결, static·thread_local, 초기화 순서
C++의 링키지(external/internal/no linkage)와 저장 기간(automatic/static/thread/dynamic storage)의 차이를 정리합니다. static 초기화 순서 문제, extern 중복 정의, thread_local 지연 초기화 같은 실전 함정을 다룹니다.
-
C++ 링킹 이해하기: 정적 vs 동적 링킹, 심볼 확인, undefined reference 해결, LTO
C++ 링킹 정리. 정적 링킹과 동적 링킹의 차이, 오브젝트 파일이 결합되는 과정, nm으로 심볼 확인하기, undefined reference 에러 해결, 링크 타임 최적화(LTO)를 예제로 다룹니다.
-
C++ 동적 초기화와 정적 초기화 순서 문제: Meyers 싱글톤·constinit으로 해결하기
C++ 전역·정적 변수가 런타임에 초기화되는 동적 초기화를 정적 초기화와 비교하고, 번역 단위 간 초기화 순서 문제와 순환 의존성, 소멸 순서 문제를 Meyer's Singleton, 지연 초기화, constinit으로 해결하는 방법을 설명합니다.