프로그래밍 공부
작성일
2024. 1. 17. 18:05
작성자
WDmil
728x90

3.5 스타일이 있는 언어의 활용

C++언어는 잘못 활용하면 도저히 사람이 알아볼 수 없는 해괴한 코드를 만들 수 있다.

i++ + ++i;

위 코드는 어떤식으로 동작하는지 C++표준에 정해져 있지 않다.

 

i++가 변수 i를 이용하면서, 그 값을 증가시키는 부가 효과가 있기 때문이다.

표준에서는 문장 실행 중에 결과값(i + 1) 리턴과 함께 변수 자체의 값 증가까지 완료해야 하는지 정하고 있지 않다.

 

변수 자체의 값 증가는 문장의 끝인 ; 이후에 반영되어도 된다.

 

이때문에 ++i에서 어떤 i값이 사용될지 알 수 없다.

따라서 이 코드의 결과는 어떤 컴파일러를 사용하느냐에 따라 달라진다.

a[i] = i++;

이 코드도 마찬가지 이유에서 결과가 어떻게 될지 알 수 없다.

이러한 코드의 사용은 피해야 한다.

 

C++언어는 강력한 기능을 제공한다. 그런만큼 그 기능의 이용 방식을 이해하여 오용되는 경우를 피하고, 어떤 기능을 이용하면 좋은 스타일의 코드를 만들 수 있는지 고민해야 한다.

 

3.5.1 상수의 이용

상수값을 남용하다 보면 이해하기 어려운 코드가 된다.예를 들어 어떤 코드에서 2.71828이라는 상수가 이용된다고 하자.

왜 2.71828일까? 이 값의 의미는 무엇일까? 수학에 배경지식이 있는 사람이라면 이 값이 자연로그 베이스 e의 근삿값 임을 알 테지만, 대부분의 사람은 모를 수 있다. 이때는 C++에서 사용하는 상수 표기법을 이용하여 이름을 부여해서 사용할 수 있다.

 

const double kApproximationForE = 2.1828182845904523536;

 

728x90