아..^^ 처음으로 글을 쓸려고 하니깐..
뭐부터 써야 될지.. ㅋㅋ;; 근데에.. 전 c중심으로 적을려고 했는데.. ㅋㅋ c++을 원하시니 이거 참.. ㅋㅋㅋㅋ
그럼.. 간단히 다 아시겠지만.. c++이 c언어와 달라진점에 대해서 간단히 적어 볼께요.. ㅋㅋㅋ;;
이그응;;;
==================================================================================================
먼저 첫번째로 다 사용은 하시겠지만.. 주석이 달라졌습니다.
지금이야 /* */ 주석이나 // 주석 사용은 다 되는 것인데..
c언어에서는 /* */ 주석만 있고 // 주석은 없었습니다.
근데 c++ 에서 // 이 주석이 생겼다고 하네요~^^
참고로
/* */ => block 주석
// => line 주석
입니다... (어랏~ 코끼리 같닷~;;;ㅋㅋㅋ)
두번째로는 상수값 표현에 대한 건데.. 이거는 달라졌다기 보다는
쓰는 방향이 조금 달라 졌습니다..
c언어에서는 #define MAX 10 을 주로 사용을 했는데..
c++ 에서는 const int MAX = 10; 을 주로 사용 한다고 합니다.
그리고 세번째로는 영역 결정 연산자(::) 즉 scope 연산자가 있는데,
이 scope 연산자는 두가지 의미로 쓸수 있습니다.
a::b 라는 뜻에 scope는 a에 속해 있는 b라는 뜻이며,
변수에 ::c 이렇게 쓰는 경우는 전역의 의미를 가집니다..^^
조금 말이 어려운가!? 움..
예를 들어..
#include<iostream>
using namespace std;
int val = 100;
int main()
{
int val = 10;
cout << val << ::val << endl;
return 0;
}
이렇게 적어서 출력을 시킨다면 10 100 이 나옵니다..
즉 그냥 val를 적었을 경우는 지역변수를 먼저 생각하기에 10이 출력이 되지만..
앞에 :: 쓸경우 전역의 의미로 100이 출력 됩니다..^^
네번째에는 새로 생긴 자료형인데..
그 자료형은 바로 논리값 bool 형입니다. ㅋㅋ
그리고 다섯번째로는 함수 오버로딩인데..
c언어에서는 매개변수가 다르더라도 같은 함수명이면 쓸수가 없었습니다..
하지만 c++에서는 매개변수가 다르면 같은 함수명을 사용할 수 있게 되었습니다..
즉,
void function(void);
void function(int);
void function(char, int);
이렇게 사용이 가능 하답니다..^^
하지만..
void function(void);
int function(void);
이런건 안되겠죠!?
왜 안되는지는 한번 돌려보세요..^^ 그럼 에러 메세지가 뜰꺼예요.. 그걸 해석을 하면..;;; ㅋㅋ
또 여섯번째로는 함수에 Default 값을 선언을 해 줄수 있습니다.
즉, void function(int a, int b = 0);
이런식으로 선언을 해 놓으면 사용할때
function(10, 20)
function(10) => 이렇게 사용을 하면 a에는 10이 들어 가고 b에는 0이 들어 가게 됩니다..
그리고 inline 함수가 있는데 이것도 #define을 대신해서 사용을 하는 겁니다..
즉, #define SUM(a,b) a+b
이런식으로 사용하는 것을
inline int SUM(int a, int b)
{
return a+b;
}
이렇게 사용을 합니다.
사용하는 이유는 #define을 사용하면 디버깅도 어렵고 프로그램 크기도 커지기 때문에
그 #define을 c++에서는 inline 함수로 사용을 한답니다..;;
그리고 포인터 쓰기 힘드신분들을 위해 나온듯한 레퍼런스(&) 가 새로 생겼는데요..
이 레퍼런스는 포인터 처럼 주소를 가르키는 것이 아니라..
그 원래 있는 변수의 별명을 지어주는 것이라 생각하면 되요..
그러니깐..
int val = 10;
이 있는데 이를
int &name = val;
로 name 으로도 사용할수 있고 val로도 사용할 수 있습니다..
만약 val의 주소가 50000이라면.. name의 주소도 50000입니다..
즉 같다.. 라는 뜻^^ ㅋㅋ
그냥 쉽게 똑같은 거라 생각 하세요~^^
ㅋㅋ
마지막으로 초기화 해 주는 건데..
int a = 10;
int b(10);
이렇게 둘다 초기화가 가능 하답니다~^^
==============================================================================================
오늘은 여기 까지~^^ㅋㅋ
뭐 제가 그냥 아는 내용만 적어서 빠진 것도 있고 잘못 된것도 있을껀데..
그런건 댓글로.. 가르켜 주세요.. ㅋㅋㅋ;;;
제가 야매라.. ;; ㅋㅋ 이그응.. ㅋ