본문 바로가기
코딩/C++

const

by sonysame 2024. 2. 17.

1. 리터럴 상수

#include <stdio.h>

int main() {
	using namespace std;

	const double gravity{9.8};

	//gravity = 1.2;

	return 0;
}

const로 선언하면 값을 변경할 수 없다.

const는 선언과 함께 정의를 해줘야 한다. 

 

const double과 double const는 같음

  • 아래는 모두 같은 기능
const double gravity{9.8}; // C++11에서 도입된 uniform initialization

const double gravity(9.8);

const double gravity=9.8;

 

 

2. constexpr

컴파일타임에 결정되는 상수인지 확인!
(special_number는 런타임에 정해지므로 constexpr을 사용할 수 없음)

#include <iostream>

int main() {
	using namespace std;

	constexpr int my_const(123);
	int number;
	cin >> number;

	const int special_number(number);

	return 0;
}

 

3. 예시

sample.cpp

#include <iostream>
#include "MY_CONSTANTS.h"

using namespace std;

int main() {
	double radius;
	cin >> radius;
	double circumference = 2.0 * radius * constants::pi;
	cout << circumference << endl;

	return 0;
}

 

MY_CONSTANTS.h

#pragma once

namespace constants
{
	constexpr double pi(3.141592);
	constexpr double avogadro(6.0221413e23);
	constexpr double moon_gravity(9.8 / 6.0);
}

'코딩 > C++' 카테고리의 다른 글

전역변수, static 변수, 내부 연결, 외부 연결  (0) 2024.02.19
비트플래그, 비트마스크  (0) 2024.02.17
namespace  (0) 2024.02.16
헤더파일과 헤더 가드  (0) 2024.02.16
모던 C++입문 [1.2 변수]  (0) 2024.02.13