Namespaces
Variants

Punctuation

From cppreference.net
C++ language
General topics
Flow control
Conditional execution statements
Iteration statements (loops)
Jump statements
Functions
Function declaration
Lambda function expression
inline specifier
Dynamic exception specifications ( until C++17* )
noexcept specifier (C++11)
Exceptions
Namespaces
Types
Specifiers
constexpr (C++11)
consteval (C++20)
constinit (C++20)
Storage duration specifiers
Initialization
Expressions
Alternative representations
Literals
Boolean - Integer - Floating-point
Character - String - nullptr (C++11)
User-defined (C++11)
Utilities
Attributes (C++11)
Types
typedef declaration
Type alias declaration (C++11)
Casts
Memory allocation
Classes
Class-specific function properties
Special member functions
Templates
Miscellaneous

다음은 C++의 구두점 기호들입니다. 각 기호의 의미는 링크된 페이지에서 자세히 설명되어 있습니다.

목차

전처리 연산자

전처리 연산자는 전처리기 에 의해 인식됩니다.

# (포함 % : )

## (포함 % : % : )

단일 문자 연산자 및 구분자

{ } (포함 < % % > )

(since C++11)
(C++20부터)

[ ] (포함하여 < : : > )

(C++11부터)
(C++17부터)
(C++26부터)

( 그리고 )

(C++11 이후)
(C++11부터)
(C++17부터)
(C++20부터)
(C++11부터)
  • 핸들러 에서 매개변수 선언을 구분합니다.
  • 함수형 매크로 정의 에서 매크로 매개변수를 구분합니다.
  • 함수형 매크로 호출 에서 매크로 인수를 구분하거나 쉼표가 인수 구분자로 해석되는 것을 방지합니다.
  • defined , __has_include (since C++17) , __has_cpp_attribute (since C++20) 전처리 연산자의 일부입니다.
  • static_assert 선언에서 피연산자를 구분합니다.
  • 다음 지정자의 피연산자를 구분합니다:
(C++20부터)
  • 속성 에서 속성 인수를 구분합니다.
(C++11부터)
(C++14부터)
(C++17부터)
  • 가변 매크로 정의에서 __VA_OPT__ 치환의 일부입니다.
(C++20부터)

;

  • 끝을 나타내십시오
(C++20부터)
  • for 조건 문장 을 분리합니다.

:

(C++11부터)
(C++17부터)
(C++20부터)

?

.

(C++20부터)

~ (including compl )

! (including not )

(C++23부터)

+

-

*

  • 람다 캡처 목록에서 * this 를 사용하여 현재 객체를 복사본으로 캡처합니다.
(C++17부터)

/

%

^ (포함 xor )

& (포함 bitand )

(C++11부터)

| (포함 bitor )

=

  • 람다 캡처 에서 기본 캡처를 나타내며, 복사에 의한 캡처를 표시합니다.
  • 함수 정의 에서 기본 정의 ( = default ; ) 또는 삭제된 정의 ( = delete ; )의 일부입니다.
  • 타입 별칭 선언 에서 별칭과 별칭이 지정된 타입을 구분합니다.
(C++11부터)
  • 개념 정의 에서 개념 이름과 제약 조건 표현식을 구분합니다.
(C++20부터)

<

(since C++20)
  • template <> 의 일부로 사용되며 템플릿 특수화 선언 에서 사용됩니다.
  • 헤더 이름을 도입하는 데 사용됩니다
(C++17부터)
(C++20부터)

>

(C++20부터)
  • template <> 의 일부로 사용되며, 템플릿 특수화 선언 에서 사용됩니다.
  • 헤더 이름의 끝을 나타내는 데 사용됩니다.
(C++17부터)
(C++20부터)

,

(C++11부터)
(C++17부터)
(C++23부터)
(C++11부터)

다중 문자 연산자 및 구분자

웹페이지의 텍스트를 한국어로 번역합니다: HTML 태그나 속성은 번역하지 마십시오. 원본 서식을 유지하십시오. ,
,  태그 내부의 텍스트는 번역하지 마십시오.
C++ 관련 용어는 번역하지 마십시오. 정확성과 전문성이 요구됩니다.

...

(C++11부터)
(C++26부터)

::

  • 스코프 해결 연산자
  • 속성 에서 속성 범위를 나타냅니다.
(since C++11)
(since C++17)

. *

- >

(C++11부터)
(C++17부터)
(C++20부터)

- > *

+ =

- =

* =

/ =

% =

^ = (포함 xor_eq )

& = (포함 and_eq )

| = (포함 or_eq )

==

! = (포함하여 not_eq )

<=

>=

<=>

(C++20부터)

&& (포함 and )

(C++11부터)

|| (포함 or )

<<

>>

<<=

>>=

++

--

참고문헌

  • C++23 표준 (ISO/IEC 14882:2024):
  • 5.12 연산자와 구분자 [lex.operators]
  • C++20 표준 (ISO/IEC 14882:2020):
  • 5.12 연산자와 구분자 [lex.operators]
  • C++17 표준(ISO/IEC 14882:2017):
  • 5.12 연산자와 구분자 [lex.operators]
  • C++14 표준(ISO/IEC 14882:2014):
  • 2.13 연산자와 구분자 [lex.operators]
  • C++11 표준 (ISO/IEC 14882:2011):
  • 2.13 연산자와 구분자 [lex.operators]
  • C++03 표준(ISO/IEC 14882:2003):
  • 2.12 연산자와 구분자 [lex.operators]
  • C++98 표준 (ISO/IEC 14882:1998):
  • 2.12 연산자와 구분자 [lex.operators]

참고 항목

Alternative representations 특정 연산자에 대한 대체 표기법
C documentation for Punctuation