C/C++ stdlib 명명 규칙의 이름은?
C/C++ 표준 라이브러리에서 사용되는 명명 규칙에 이름이 있는지 아니면 적어도 규칙을 조회할 수 있는 치트시트가 있는지 궁금합니다.예.
push_back -- underscore used
setstate -- but not used here!
string::npos -- when to use abbreviations?
fprintf
...
C/C++ 표준 라이브러리에서 사용되는 명명 규칙에 특정한 이름이 있습니까?
C/C++는 유명한 메이크업 그대로의 네이밍 규칙을 사용합니다.일반적으로 C/C++ 표준 라이브러리 명명 규칙에 대해 일관되게 말할 수 있는 유일한 것은 C++ STL 템플릿 유형 이름을 제외하고는 camel case를 사용하지 않고 소문자 클래스 및 함수 이름을 사용하며 (때로는 밑줄을 사용하여 단어를 구분합니다.)그러나 밑줄의 사용은 C++에 가깝습니다. 특히 C는 단어를 축약하는 경향이 있습니다.strlen
,memcpy
. 이것은 아마도 UNIX의 초기에 사물에 매우 간결한 이름을 사용하는 경향의 결과일 것입니다.
C 표준 라이브러리에는 이름 충돌을 피하기 위해 지켜야 할 규칙이 잘 정의되어 있습니다.저는 C++에 대해서는 아무것도 모릅니다.
이것이 엉망이라고 생각한다면 PHP 라이브러리를 확인해 보는 것이 좋습니다.
C 라이브러리, 스트림, 문자열, STL(컨테이너+알고리즘+반복기) 등 다양한 사람들이 서로 다른 시기에 발명한 그룹이 있다고 생각합니다.나는 후자가 부스트나 C++0x 네이밍과 같은 것들의 본보기가 되는 관습으로 여겨질 수 있다는 느낌이 듭니다.
슬픈 사실은 - 진정한 관습이 없다는 것입니다.
stdio 함수의 인수 순서를 고통스러운 상기로 간주합니다.
답은 없지만 적어도 C와 C++가 같은 명명 규칙을 사용하지는 않을 것 같습니다.
이름 지정 규칙 중 어느 것도 이름이 없는 것 같습니다.
C와 C++ 표준의 명명 규칙은 비록 희미하게 관련이 있지만 서로 다릅니다.
특히 C 라이브러리에서는 C++ 라이브러리와 달리 어떤 함수나 매크로 이름도 밑줄(AFAICR)을 포함하지 않습니다.
C 라이브러리 명명 규칙의 대부분은 전례에 의해 통제되었습니다; 그것은 (약 1984년 기준) 발명품이 현저하게 적은 기존 관행을 표준화했습니다 (로컬 처리:<locale.h>
메인이 되는 것).
C++ 라이브러리 역시 전례에 기반을 두고 있었지만, 다른 선례들이 있었고, STL이 표준에 의해 채택되기 전에는 C 라이브러리의 기능만큼 널리 사용되지 않았다는 것은 논란의 여지가 있다고 생각합니다.
언급URL : https://stackoverflow.com/questions/1734277/name-of-c-c-stdlib-naming-convention
'programing' 카테고리의 다른 글
'MySql'에 대한 엔티티 프레임워크 제공자를 찾을 수 없습니다.데이터, MySql Client' ADO.NET 프로바이더 (0) | 2023.09.11 |
---|---|
realoc() 전에 malloc()이 필요합니까? (0) | 2023.09.11 |
heroku에서 db를 다운로드하려면 어떻게 해야 합니까? (0) | 2023.09.11 |
폼 제어를 비활성화하되 값은 유지하는 방법 (0) | 2023.09.11 |
원시 소켓을 특정 인터페이스에 바인딩하는 방법 (0) | 2023.09.11 |