코딩 모닥불
  • 메뉴 닫기
  • 글작성
  • 방명록
  • 환경설정
    • 분류 전체보기
      • C++
      • 표준 라이브러리
      • 백준(BOJ)
  • 홈
  • 태그
  • 방명록
C++

[C++] 초기화( initialization )의 세 가지 방법

변수의 초기화( initialization )C++을 사용해서, 코딩을 하다 보면 의외로 다양한 방법으로 변수를 초기화할 수 있음을 알게 됩니다. 그런데, 대부분은 자기만의 특정한 방식의 초기화 방법을 선호하고, 또 그렇게 하더라도 문제가 되는 일이 거의 없습니다. 그렇지만, 초기화의 방법 간에 미묘한 차이점이 있기 때문에, 한 가지 방법만으로는 모든 상황을 만족시킬 수는 없는 경우가 있습니다. C++에서 변수를 초기화려면, 아래의 세 가지 중에 한 가지 방법을 사용할 수 있습니다. 복사 초기화( copy initialization )직접 초기화( direct initialization )리스트 초기화( list initialization ) 아무리, 초기화의 방법이 복잡하고 다양해 보이더라도 결국은 이..

2025. 3. 23.
C++

[C++] 변환 생성자와 암시적인 변환을 금지하는 explicit

변환 생성자( converting constructor )변환 생성자는 암시적인 타입 변환을 위해 호출되는 생성자를 말합니다. 먼저, 암시적인 타입 변환의 예를 보겠습니다.void printVal(double val){ cout main 함수에서 printVal 함수를 int 타입의 인자로 호출하게 되면, 컴파일러는 먼저 int 타입 매개 변수를 가진 함수를 찾습니다. 만약, 그러한 함수가 없다면 "숫자 변환 규칙"에 따라, int 타입을 대신할 수 있는 타입( 여기서는 double )을 매개 변수로 가진 함수를 찾아서 호출하려고 합니다.그렇게 하기 위해서, 컴파일러는 자동으로 int 타입의 값을 double 타입의 값으로 변환합니다.이것이 암시적인 타입 변환( implicit type conve..

2025. 3. 21.
C++

[C++] C-style 타입 변환과 C++의 static_cast

암시적인 타입 변환과 명시적인 타입 변환암시적인 타입 변환( implicit type conversion )은 변수나 표현식의 타입이 일치하지 않는 경우, 컴파일러가 자동으로 필요한 타입으로 변경하는 것을 말합니다. 아래의 예문에서 암시적인 형 변환을 보여줍니다.int main(){ double val = 10 / 4; // 암시적인 형 변환 cout ▼출력double type value: 2위에서, 컴파일러는 10/4의 int 값을, double 타입의 변수에 대입하기 위해서, 자동으로 double 타입의 값으로 변경합니다. 그런데, 위의 결과는 문제가 좀 있네요. val의 값이 2.5가 되기를 기대했지만, 실제는 2가 되었습니다. 이렇게 된 이유는 10/4의 int 연산 수행을 먼저 하고,..

2025. 3. 21.
  • «
  • 1
  • »

전체 카테고리

  • 분류 전체보기
    • C++
    • 표준 라이브러리
    • 백준(BOJ)

블로그 인기글

태그

  • #초기화
  • #헤더 가드
  • #std::string_view
  • #std::unique_ptr
  • #std::sort
  • #상수 표현식
  • #소멸자
  • #static_cast
  • #Enum
  • #복사 생성자
  • #constexpr
  • #이진 탐색
  • #깊이 우선 탐색
  • #std::stack
  • #decltype
  • #std::queue
  • #using
  • #Lamda
  • #포인터
  • #namespace
  • #동적 계획법
  • #const
  • #inline
  • #전처리기
  • #std::vector
  • #범위 기반 for
  • #전방 선언
  • #auto
  • #함수 객체
  • #예외 처리
MORE
애드센스 광고 영역
Powered by Privatenote Copyright © 코딩 모닥불 All rights reserved. TistoryWhaleSkin3.4

티스토리툴바