연산자 6

#059_닷넷(.NET)_.Net Framework 기본 - 연산자 오버로딩`

안녕하세요 삽잡이입니다. 이번 시간은 연산자 오버로딩에 대해서 알아보려고합니다.C++을 배우셨던 분들이라면 분명 익숙하게 들릴 만한 주제라고 생각합니다. 연산자 오버로딩을 하는 이유는연산자가 정의되어있지 않은 형식 즉, 사용자 형식(클래스형식)에 대해서내장 되어있는 연산자가 동작하도록 하기 위해서 입니다.그 결과로 더 쉽게 사용할 수 있고, 명확한 코드를 만들 수 있게 되지요. C++과 다르게 C#에서 연산자 중복을 할 때에는 멤버 함수,전역 함수로 오버로딩을 하지 못합니다.왜냐하면 전역함수가 C#에서는 없기 때문입니다. 따라서 static 메서드를 사용하게 됩니다.그래서 이항 연산자 오버로딩을 할 때에는 인자를 기본적으로 두개를 받게됩니다. C#에서는 전역 함수 연산자 중복만을 제공해줍니다.즉, 전역 ..

#014_시(c)시(c)해서 C++?!_cout과 endl 흉내내기

안녕하세요 삽잡이입니다... 이번시간에는 우리가 자주 사용하던 cout 기능의 메서드와 endl 을 알아보고자합니다. cout은 iostream에 속해있는 메서드입니다. 그 중에서 ostream 이라는 클래스에 포함되어있죠... 우리는 이 ostream 클래스 안에 있는 cout이라는 친구를 사용하여 출력을 하고 있었습니다... 이전 시간까지 배워온 연산자 중복정의를 응용하여서cout의 기능을 흉내내보려고 합니다... 비록 완벽하진 않지만아.. cout은 이런식으로 구현되있구나라는 것을 맛만 봐보도록 하겠습니다...대충 감이 오실걸요~? 확인해보도록 하죠... 123456789101112131415161718192021222324252627282930313233343536373839404142434445..

#011_시(c)시(c)해서 C++?!_ 이항 연산자 중복정의

안녕하세요 삽잡이 입니다~ 이번 시간에는 연산자 중복 정의에 대해서 알아보려고 합니다...시작하죠 푸하하... 1+1 가 뭔가요? 귀요미 아니죠... 2입니다... 껄껄껄 우리는 당연하게 1+1은 2라고 합니다.. 그런데 말입니다...이 '+' 라는 기능을 C++에서는 개발자 마음대로 중복 정의를 할 수 있게 됩니다...이름하여 연산자 중복정의 (연산자 오버로딩) 라고 합니다... 이 연산자 중복정의는,제공하는 개발자가 사용하는 개발자에게 편의를 주기 위해서 제공하는 기능입니다.왜냐, 어차피 이런 연산자 중복정의해봤자 일반 사람이 쓰겠습니까? ㅎㅎ결국은 개발자가 사용할 것이니,제공하는 개발자가 사용하는 개발자에게.... 라는 말로 설명을 드렸습니다. 1+1, 4-2, 9*3 등등... 피 연산자들이 기존..

곱씹어보자 C!_#018_삽잡이의 두서없이 막말하는 잡다한 것들...

- 연산자 *와 [] 복습하며 까먹지 말아야 할 정리들을 잡다하게 올려봐야겠습니다. 포인터에 대해서 보고 있었는데... *와 []는 같은 기능을 한다고 합니다.즉, * 주소 = 주소 [] 와 같다는 것입니다.이말은 곧... Out Parameter로써 주소값을 인자로 넘길 때에 인자를 받은 함수의 매개변수에 대체적으로 자료형* 로 인자를 받는다는 것이죠... 123456789101112void Input(char* sbuf){//중략} main(){char* buf[100];//중략Input(buf);//중략}cs 요런식으로 말입니다. 그런데 *와 []의 기능은 같으나,관례적으로 연속한 메모리의 집합들을 참조할 때에는 []를 사용한다고 합니다.음... 그러니까 "야... 연속한 메모리들의 집합들이 들어온..

[삽잡이::C] 연산자

'* 연산자 + 주소' 는 메모리의 이름이 된다. 즉 *(asterisk) 연산자는 주소 앞에 붙어 해당 주소의 메모리 이름으로 된다. '주소 + [] 연산자' 또한 같은 기능을 담당한다. 즉, '*' 와 '[]' 연산자는 같은 기능을 하나는 것이다. 1234567int arr[] = {1, 2, 3, 4};int* p; p = arr; //arr 즉, 배열의 이름은 배열[0]의 시작주소 printf("p[1]의 값 = %d, arr[1]의 값 = %d\n", p[1], arr[1]); // 서로 같은 값. p는 arr의 주소를 담고 있는데 그렇다면 arr의 주소 1번재 메모리 이름이 되겠다.cs

곱씹어보자 C!_#006_삽잡이의 두서없이 막말하는 연산자들

오늘은 몇몇의 연산자를 알아보고자 합니다. 우선 첫번째! '&'엔퍼센트... 주소 연산자입니다. 주소라... 메모리에 대해 지난 글을 보셨으리라 생각하며바로 들어가보도록 하겠습니다. char c = 10;int n = 10; 한번 해석해보세요! 3초 드립니다. 하나 둘 셋! 제가 말씀드리자면,C라는 이름을 가지고 10이라는 값을 가진 변수를 선언했네요.근데 데이터 타입은 char 형인것으로 보아 1 Byte이군요... 따라서 주소를 하나 갖겠네요.(1 Byte 당 주소 하나!)그 아래 친구는 4 Byte 짜리 int형 변수군요... 주소를 4개 갖겠어요. 음 아무튼 그것은 그렇고 그럼 &은 뭘 의미하는 것일까요... 바로 변수의 주소를 의미하는 것입니다./*변수 어떻게 생긴 줄 아시죠? 한번 그려볼까요?..