비디오: C언어 포인터 ⑬ 동적할당 실전(malloc함수, free함수) - 힙(Heap)영역 사용 2024
내장형 데이터 유형은 int , float , 및 double과 다양한 포인터 유형이 있습니다. C ++을 사용하면 프로그래머가 이러한 내장 연산자 외에 작성한 클래스의 연산자를 정의 할 수 있습니다. 이것을 연산자 오버로딩이라고합니다.
일반적으로, 연산자 오버로딩은 선택 사항이며 C ++ 프로그래머를 시작해서 시도하지 않습니다. 많은 숙련 된 C ++ 프로그래머는 연산자 오버로딩이 그다지 훌륭한 아이디어는 아니라고 생각합니다. 그러나 한 연산자에 과부하하는 방법을 배워야합니다: 대입 연산자.
연산자는 고유 한 구문을 가진 내장 함수입니다.
연산자 + (a, b)
실제로 C ++은 각 연산자에 함수 스타일 이름을 부여합니다. 연산자의 기능 이름은 키워드 연산자가오고 뒤에 적절한 인수 유형이 오는 연산자 기호입니다. 예를 들어, int를 생성하는 int에 int를 더하는
+
연산자는 int operator + (int, int)라고합니다.
new 연산자는 오버로드하는 연산자와 동일한 의미를 가질 수 있지만 반드시 그렇게 할 필요는 없습니다. 연산자 오버로딩시 다음 규칙이 적용됩니다. 프로그래머가 에 과부하를 걸 수 없습니다.
-
(점), : (콜론), . *, * ->, sizeof 및 ?: (삼항) 연산자.
-
연산자의 구문은 변경할 수 없습니다. 따라서 %는 이미 이진 연산자로 정의되어 있으므로 % i 연산을 정의 할 수 없습니다. 운영자 우선 순위는 변경할 수 없습니다. 프로그램은 연산자 +
-
보다 먼저 연산자 +를 평가할 수 없습니다.
-
내장 유형에 적용 할 때 연산자를 다시 정의 할 수 없습니다. 1 + 2의 의미를 변경할 수 없습니다. 기존 연산자는 새로 정의 된 유형에만 오버로드 될 수 있습니다. 연산자 오버로딩은 실제보다 훨씬 좋은 아이디어 인 것 중 하나입니다. 일반적으로 연산자 오버로딩은 해결할 수있는 것보다 많은 문제를 야기합니다.