- thebaleuncoding
C++에 추가된 연산자는 뭘까?
일산코딩학원 더바른코딩학원입니다.
구조체는 C언어에서 자료를 체계적으로 관리하기 위해 제공하는 문법입니다.
서로 다른 타입의 한 묶음을 의미하며,
관련 정보를 하나의 의미로 묶을 때 사용합니다.
C++에서는 구조체에 함수를 추가할 수 있습니다.
따라서 구조체가 데이터와 함수가 결합된 class와 유사한 개념이 되었습니다.
선언할 때 예약어인 struct를 생략할 수 있습니다.
추가된 연산자로는 범위 연산자, new와 delete가 있습니다.
범위 연산자 (scope operator) '::'
::전역변수명
전역변수와 지역변수의 이름이 같을 때,
전역변수가 지역변수에 의해 가려져 일반적으로 지역변수가 우선시됩니다.
a만 쓸 경우 지역변수가 선택되어 2가 사용됩니다.
::a를 쓸 경우 전역변수가 선택되어 1이 사용됩니다.
#include <stdio.h>
int a =1;// 전역변수
int main()
{
int a =2;// 지역변수
a++;// 지역변수명과 전역변수명이 같을 시 지역변수 우선
::a++;// 연산자를 사용해 전역변수를 사용
printf("지역변수 : %d\n", a);
printf("전역변수 : %d",::a);
return0;
}
::외부함수 (전역함수)
C언어는 main함수 아니면 내가 정의한 사용자 함수가 기본이었습니다.
그런데 클래스나 구조체에서 함수를 정의할 수 있게 되어서
함수에게 소속의 의미가 생겼습니다.
일반적으로 main함수 밖에 정의된 함수를 전역함수,
클래스 안에서 정의된 함수를 멤버함수라고 합니다.
C언어에서는 이 전역함수와 멤버함수들의 이름이 중복될 수 없었습니다.
그런데 C++에서는 전역함수명과 멤버함수명이 같아도 됩니다.
함수명이 같아도 함수들의 소속이 다르기 때문입니다.
#CPP에추가된연산자는뭘까?에 대해 더 알아보고 싶나요?
아래 링크로 이동하세요.