C++ 20 : Arithmetic(산술)

RuuNee
|2024. 5. 31. 15:42
반응형
int a = -2;
unsigned int b = 10;

cout << std::boolalpha;
cout << "-2 < 7 = " << (a < b) << endl;
cout << "-2 <= 7 = " << (a <= b) << endl;
cout << "-2 > 7 = " << (a > b) << endl;
cout << "-2 >= 7 = " << (a >= b) << endl;

 

 

int 와 unsigned int를 섞어 쓸 때 위처럼 이상하게 출력이 된다.

그 이유는 a가 unsigned int로 변환이 되면서 이상한 쓰레기 값이 들어가기 때문.

 

 

c++20에서 std::cmp_xx 함수 시리즈가 들어와서 int와 unsigned int를 문제없이 비교할 수 있게 되었다.

(정수 아닌 애들은 넣으면 오류 발생)

 

	cout << "-2 < 7 = " << std::cmp_less(a , b) << endl;
	cout << "-2 <= 7 = " << std::cmp_less_equal(a , b) << endl;
	cout << "-2 > 7 = " << std::cmp_greater(a , b) << endl;
	cout << "-2 >= 7 = " << std::cmp_greater_equal(a , b) << endl;

 

이 외에도 수학 상수 기호들이 추가 되었다.

 

//const float PI = 3.14f;
std::numbers::pi; //파이
std::numbers::pi_v<float>; //파이(float)
std::numbers::sqrt2; //루트 2
std::numbers::e; //e

//중간값
constexpr int mid = std::midpoint(10, 20);

//선형 보간
constexpr int ler = std::lerp(10, 20, 0.1);
반응형

'C++' 카테고리의 다른 글

C++ 20 : Calendar  (0) 2024.06.04
C++ 20 : 비트 연산  (0) 2024.06.04
C++ 20 : Container(2)  (0) 2024.05.30
C++ 20 : Container(1)  (0) 2024.05.27
C++ 20 : std::Span  (0) 2024.05.27