2012-11-05 9 views
3

가능한 중복 : C++ 헤더 파일에서
Should function declarations include parameter names?인수 이름 (헤더 함수의 변수 이름)

, 당신은 함수 프로토 타입의 이름, 반환 형식을 제공해야 인수 유형. 인수의 이름을 지정할 필요가 없습니다. 예 :

double fraction(double numerator, double denominator); 

double fraction(double, double); 

대는 인수의 이름을 쓰고있는 장점이 있습니까? 가독성? 컴파일이나 효율성, 또는 다른 점이 있습니까?

+0

당신이 맞아요 @ 베니, 나는 비슷한 질문을 찾을 수 없었지만, 당신은 감사합니다. 글쎄, 아마도 누군가는 컴파일/효율성/다른 것을 가지고있을 것이다. –

답변

1

컴파일의 차이. (이 적은 코드를 구문 분석이 있지만, 누가 그것에 대해 무슨 상관으로 나중에 분석 할 수 있습니다 빠른 것?).

두 번째 경우에는 분자가 분모인지 분간 할 수 있습니까?

1

헤더 파일에서 인수 이름을 유지하는 주된 이유는 일관성과 가독성 때문입니다. 제거 방침이 있으면 더 이상 cpp 파일의 선언을 복사/붙여 넣기 할 수 없습니다.

doxygen과 같은 문서 엔진을 사용하는 경우 문서 엔진이 헤더를 구문 분석하는 경향이 있으므로 매개 변수 이름을 포함 할 경우 더 나은 결과를 제공하므로 매개 변수 이름을 유지할 이유가 있습니다.

이 외에도 엄격한 이유가 없습니다.

1

효율성 차이가 없습니다. 헤더에 이름을 생략하면 구현 파일에서 생략하여 동기화해야합니다. 거기에서 impl을 사용하지 않고 arg를 사용하면 모든 사람이 arg가 사용 된지 아닌지에 대한 매개 변수 목록을 볼 수 있습니다 (arg가 이름을 가질 때 경고를내는 컴파일러도 있지만 ' 도움 구현입니다. 희망에 사용되는 t ...

+2

"구현시 생략 되었습니까?" 구현시 생략하면 작동하지 않습니다. 아마 너를 오해 했어. 너는 다시 말해 줄 수 있니? –

+0

구현에서 생략하면 매개 변수가 사용되지 않으면 작동합니다. 하지만 항상 매개 변수 이름을 주석으로 사용하는 것이 좋습니다. void x (int/* theUsefulNameOfThisInt * /) {...} – pbhd

1

앞에서 말했듯이 헤더를보고있는 누군가가 매개 변수의 목적을 이해하고 있기 때문입니다.