Identifiers (C++)
Learn more about: Identifiers (C++)
docs.microsoft.com
식별자는 다음을 나타내는데 사용되는 문자열 시퀀스다.
- 객체나 변수 이름
- 클래스, 구조체 또는 유니온 이름
- 열거타입 이름
- 클래스, 구조체, 유니온 또는 열거 맴버
- 함수나 클래스 멤버 함수
- typedef 이름
- 라벨 이름
- 매크로 이름
- 매크로 파라메터
다음 문자는 식별자의 모든 문자로 사용된다.
_ a b c d e f g h i j k l m
n o p q r s t u v w x y z
A B C D E F G H I J K L M
N O P Q R S T U V W X Y Z
범용문자이름의 특정범위 또한 식별자로 사용된다. 식별자에서의 범용문자이름은 기본 문자셋에서 문자나 제어 문자로 ㅅ지정될 수 없다. 더 많은 정보는 여길 봐라. Character Sets. 이런 유니코드 숫자 범위는 식별자에 모든 문자로 범용 캐릭터 문자 이름이 사용될 수 있다.
- 00A8, 00AA, 00AD, 00AF, 00B2-00B5, 00B7-00BA, 00BC-00BE, 00C0-00D6, 00D8-00F6, 00F8-00FF, 0100-02FF, 0370-167F, 1681-180D, 180F-1DBF, 1E00-1FFF, 200B-200D, 202A-202E, 203F-2040, 2054, 2060-206F, 2070-20CF, 2100-218F, 2460-24FF, 2776-2793, 2C00-2DFF, 2E80-2FFF, 3004-3007, 3021-302F, 3031-303F, 3040-D7FF, F900-FD3D, FD40-FDCF, FDF0-FE1F, FE30-FE44, FE47-FFFD, 10000-1FFFD, 20000-2FFFD, 30000-3FFFD, 40000-4FFFD, 50000-5FFFD, 60000-6FFFD, 70000-7FFFD, 80000-8FFFD, 90000-9FFFD, A0000-AFFFD, B0000-BFFFD, C0000-CFFFD, D0000-DFFFD, E0000-EFFFD
다음 문자는 처음을 제외하고는 식별자에서 모든 문자로 사용된다.
0 1 2 3 4 5 6 7 8 9
이러한 유니코드 포인트 넘버 범위는 또한 첫번째를 제외하고 식별자의 모든 문자에 대해서 범용문자이름이 사용됩니다.
마이크로소프트 관련
마이크로소프트C++의 오직 처음 2048문자 식별자만 중요합니다. 사용자에 의해 재정의된 타입 이름은 타입 정보를 보존하기 위해 컴파일러에 의해 재구성됩니다. 타입 정보를 포함하는 최종적인 이름은 2048문자보다 길지 않습니다. (더 많은 정보를 위해서 Decorated Names를 봐라) 재구성된 식별자 길이에 영향을 미치는 요소 들은 :
- 그 식별자가 사용자 정의된 객체나 사용자 정의 타입에서 파생된 타입을 나타내는지 아닌지
- 그 식별자가 함수나 함수로 부터 파생된 타입을 나태는지 아닌지
- 함수 인자의 숫자
달러 표시인 $는 마이크로 소프트 c++ 컴파일러(msvc)에서 타장한 식별자 문자이다. msvc는 당신이 식별자에 허용된 범용 문자 이름으로 표현되는 실제 문자들을 사용하는 것 또한 허용합니다. 이러한 문자들을 사용하기 위해서는 당신은 그들으 포함하는 인코딩 코드페이지 파일을 저장해야 합니다. 이 예제는 어떻게 확장 문자와 범용 문자 이름이 당신 코드에서 교대로 사용되는 보여 줍니다.
// extended_identifier.cpp
// In Visual Studio, use File, Advanced Save Options to set
// the file encoding to Unicode codepage 1200
struct テスト // Japanese 'test'
{
void トスト() {} // Japanese 'toast'
};
int main() {
テスト \u30D1\u30F3; // Japanese パン 'bread' in UCN form
パン.トスト(); // compiler recognizes UCN or literal form
}
식별자에 사용되는 문자들 범위는 c++/cli 코드를 컴파일 할때 덜 엄격합니다. 코드에서 식별자는 Standard ECMA-355:Common Langue Infrastructure(CLI)를 따르는 /clr을 사용하여 컴파일 됩니다.
END 마이크로소프트 관련
식별자의 첫번째 문자는 반드시 대문자든, 소문자든 알파벳 문자거나 _언더스코어여야 한다. C++ 식별자는 예민하기 때문에, fileName 과 FileName은 다르다.
식별자는 정확하게 같은 키워드와 철자와 대소문자를 정확히 일치시킬 수 없다. 키워드를 포함하는 식별자는 괜찮다. 예를 들어 Pint 는 가능한 식별자다 키워드인 int를 포함하고 있더라도.
식별자에 언더스코어를 연속으로 두개 사용하거나 대문자 뒤에 선행 언더스코어를 단독으로 사용해라 이것은 모든 범위에서 c++ 구현이 예약된다. 당신은 파일 범위 내의 소문자 문자 앞에 선형 언더스코어를 사용하는 것을 피해야 합니다. 미래의 예약된 식별자 또는 현재의 것들과 충돌 가능성이 있기 때문입니다.
'English > Development' 카테고리의 다른 글
MSDN_C++LanguageReference_Punctunators(C++) (0) | 2021.08.23 |
---|---|
MSDN_C++LanguageReference_Keywords(C++) (0) | 2021.08.20 |
MSDN_C++LanguageReference_Comments(C++) (0) | 2021.08.19 |
MSDN_C++LanguageReference_Tokens and character sets (0) | 2021.08.18 |
MSDN_C++LanguageReference_Lexical conventions (0) | 2021.08.18 |