태그: conversion
3편
-
C++ 타입 변환: 암시적 변환, static_cast·dynamic_cast·const_cast·reinterpret_cast, explicit
C++ 타입 변환 정리. 암시적 변환과 명시적 변환, static_cast·dynamic_cast·const_cast·reinterpret_cast의 용도와 차이, 변환 생성자와 explicit, 변환 연산자를 예제로 다룹니다.
-
C++ explicit 키워드: 암시적 변환 막기, explicit operator bool, C++20 explicit(bool)
explicit를 붙이면 복사 초기화와 함수 인자에서 일어나던 암시적 변환이 막힙니다. 생성자와 변환 연산자, explicit operator bool, C++20 조건부 explicit(bool)의 동작을 비교하고, 스마트 포인터와 단위 타입에서 explicit를 쓰는 패턴을 정리합니다.
-
C++ 복사 초기화 vs 직접 초기화: explicit 생성자와 암시적 변환 문제
T x = expr 형태의 복사 초기화와 T x(expr) 직접 초기화가 어떻게 다른지 설명하고, explicit 생성자가 복사 초기화를 막는 이유, 암시적 변환과 변환 연산자, 중괄호 초기화 및 auto 추론과 얽히는 문제를 예제로 다룹니다.