This question은 C++ 포함 가드의 명명 규칙을 설명하는 몇 가지 중 하나입니다. 그 질문을하는 사람이 이름 지정 규칙을 생각 : 자체 촬영 (? FOO_H
무슨 뜻) 내가 동의하는 경향이 때C++의 유효한 사용법에는 include-guarding 외에 guard가 포함되어 있습니까?
#ifndef FOO_H
#define FOO_H
// ...
#endif
조금 비 직관적이다.
기타 그것의 목적이 무엇인지는 문맥에서 분명하기 때문에, 필요성을 금지하는 것은, 이름 FOO_H
그냥 괜찮 (PROJECTNAME_FOO_H_SDFFGH69876GF
을 같은) 더 나은 충돌 회피를 위해 더 많은 물건을 추가 할 수 있다고 (즉,이 파일의 시작 부분입니다 같은 이름의 것이고 포함 경비원이라는 것이 분명합니다.)
FOO_H
의 유일한 목적이 여러 포함을 방지하는 것이지만이 파일을 다른 곳의 FOO_H
에두고 싶은 조건이 있으면이 파일을 살 수 있습니까? 나는 조건부 컴파일이 좋은 이유가 될 것이라고 생각할 것이다. 어떤 경우에는 FOO_H_INCLUDED
과 같은 이름이 명확해질 것이다.
똑같은 용도가 있습니까? 아니면 포함 경비원의 용도를 변경하지 않아야합니까?
나는 혼자두고 싶습니다. 이것은 깨진 것이 아니라면 "유형 상황이 될 때까지 계속 고쳐야합니다. –
그래서 '#pragma once'를 선호합니다. – James
@James :'#pragma once'는 조건부 컴파일로 OP를 언급하지 못하게합니다. –