요 며칠간 고민했던 것은
이었다.
풀어 이야기해보면 하드코딩을 지양하기 위해 멤버변수 하나를 선언하는 것이 과연 옳은 습관일까에 대하여 고민했다.
코드의 가독성을 위해 멤버변수 하나 정도의 메모리 공간은 괜찮지 않을까 생각했지만,
이런 Local Variable들이 모이면 유의미한 차이가 생길 것 같았다.
이 부분에 대해 구글링과 GPT를 이용해보았지만 후련한 답은 얻지 못했다.
그리고 오늘 친한 형에게 constexpr에 대해 알게 되었다.
변수로써 선언했지만, 컴파일 단계에서 상수로 대체되어 마치 하드코딩을 한 것처럼 어셈블리 단계에 들어선다.
때문에 프로그램 실행 중에는 메모리를 차지하지 않게 되는 것이다.
이것은 결국 그간 고민했던 코드 가독성과 메모리 효율까지 다 잡아낸 방법인 것이다.
숫자로 사용 시에는 static constexpr const를 함께 작성하는 경우가 많은데
때문에 내가 사용하고자 하는 Local Variable을 모두 대신할 수 있다.
Deque(및 Queue, stack)의 메모리 관점에서 구현 방식 (0) | 2024.02.07 |
---|---|
C++ Smart Pointer에 대하여 (0) | 2024.02.07 |
C++ Lvalue와 Rvalue (0) | 2024.02.07 |
C++ 삼항연산자 ( a > b ? 1 : 2 ) (0) | 2024.02.07 |
댓글 영역