소프트웨어 공부/프로그래밍

const를 사용하라.

야곰야곰+책벌레 2021. 4. 20. 13:35
728x90
반응형

변하지 않는 값은 그만큼 이해하기도 쉽고, 추적하기도 쉽기 때문이다. 따라서 값을 정의할 때 그 이유가 적당하다면 const를 사용하여 상수를 만드는 것이 좋다. 상수는 안전하고, 컴파일 시에 검사 되며, C++타입 시스템과 부합된다는 것을 기억하라. 상수가 많으면 상수가 정의된 부분과 값만을 신경 쓰면 되기 때문에 그만큼 코드가 간결해진다.

 

void Fun(vector<int>&v)
{
//...
const size_t len = v.size();
//...
}

 

const는 일종의 바이러스이다. 한 곳에 일단 위치를 잡으면 코드의 다른 부분으로 전파되기 쉬우며, 아직 const로 지정되지 않은 부분과의 함수 호출 교류가 있을 때에는 그 부분을 const로 만들어버리는 상황을 발생시킨다. 하지만 이는 버그가 아닌 좋은 기능이며, 전체적인 코드의 질을 높이는 데 기여할 것이 분명하다.

  이미 짜여있는 코드를 const 기반의 것으로 만드는 데에는 그만큼의 노력이 필요하지만, 분명 그 노력은 가치가 있다.  가능하면 가능한 만큼 const를 많이 사용하자. 프로그램의 상태가 어떻게 어디서 변하는지를 아는 것은 중요하며, const를 사용하면 그러한 변화를 다루기에 편리한 코드를 만들 수 있다. 적절한 const 사용은 디자인에 대한 보다 나은 이해뿐만 아니라 코드의 안정성과 튼튼함에도 도움을 주기 때문이다.

 

728x90
반응형