프로그래밍 팁

2021. 10. 19. 17:39C&C++

1. 일반 변수 선언 시 필요한 경우에만 초기화를 하자. (불필요한 mov를 일으키기 때문)

2. 변수 선언 시 한 줄에 동시에 여러 변수를 선언하지 말자. 무조건 한 줄에 변수 하나 선언.

3. 조건문 및 블록 내부에서 되도록 변수 선언을 하지 말자.

어차피 함수 블럭 들어오면 해당 조건문 충족과 상관없이 크기가 할당된다.

디버깅 시 조건식 활용에 있어서 블록 외부에서 선언하는게 용이함.

4. 부동소수와 정수를 절대 비교하지 않는다.

5. 가급적 goto 대신 do~while(0) , break로 처리한다.

6. continue는 예외적인 상황에 사용한다.

7. 함수 인자중 값을 바꾸지 않을 것은 const로 선언한다.

8. 배열(table)을 통해 반복되는 분기문을 없앨 수 있다. (메모리 - 성능 트레이드오프)

9. 문자열을 함수에 전달할 때 길이도 같이 전달하는게 효율적

10. alignas 키워드로 캐시라인에 변수들을 효율적으로 넣자.

변경이 잦은 변수들과 변경이 없는 변수들을 구분해야한다.

또한 alignas로 변수선언시에 인접한 변수들을 확실하게 같은 캐시라인에 넣을 수 있다.

11. union은 하위호환성을 맞추고싶을때쓴다.. (같은 메모리 공간을 사용하니까)

12. 함수의 return 값은 bool로 성공 / 실패를 알려주는게 좋다.

이 때 데이터 전달은 파라미터로 전달받은 포인터 변수를 활용하면 된다.

13. 헤더파일에서는 가급적 다른 헤더를 include 하지 않는다.

14. 이니셜라이저 사용

15. 템플릿 클래스에서는 헤더파일에 모두 구현(cpp 분리 x)

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

랜덤을 구현하는 방법  (0) 2021.11.07
#pragma once  (0) 2021.10.25
enum class  (0) 2021.10.25
C언어 volatile  (0) 2021.10.19
컴파일 모드 (릴리즈모드, 디버그모드)  (0) 2021.10.17