(2) c++ 기본 문법 - 열혈강의 -
1. namespace
using namespace std; 을 #include<iostream>을 한 이후에 많이 사용할 것이다.
여기서 의미는 using = 사용하겠다, namepsace + 공간이름 = 이름 공간을 사용하겠다.
즉 std라는 공간을 사용하겠다를 의미한다.



using namesapace 는 .cpp파일에서만 사용이 가능하고 .h (header file)에서는 사용이 불가능하다.
d

d


자료형
char(8bit)인데 7bit로 알파벳과 특수기호가 포함되었는데 마지막 1bit은 parity bit로 오류검사용이였다. 그런데 영어 말고 다른 나라 언어를 사용하기에는 8bit으로는 부족
=> 유니코드 등장.
singed / unsigned
=> bool , long, double을 제외하고는 가질 수 있다.
=> Default는 singed 이다. 즉 음수, 양수를 가짐 unsigned => 양수만 가진다.
ex) int 32bit =4bytes이므로
-2^31 - 1 ~ +2^31 의 범위를 가진다
unsigned로 선언하면 +2^32+1 = 4,294,967,295
별칭 만들기
1) typedef
형태 : typedef [기존 자료형] [별칭]
ex) typedef double salary ;

4번 줄에서 int의 새로운 별명 salary 선언
7번 줄에서 3이 정상 출력
8번 줄에서 int 형에 소수를 입력
9번 줄에서 출력을 하게되면 money의 data type은 int이기 때문에 3이 출력된다.
2) using
형태 : using [별칭] = [기존 자료형]
ex) using salary = int ;

3번 줄에서 4번줄로 변경.
auto ( 초깃값 필요 )
c++11에서 부터는 컴파일러가 자료형을 자동으로 결정하는 auto 키워드를 제공한다.
단, 컴파일러가 초깃값을 보고 자료형을 결정하므로 반드시 변수 초기화 코드가 있어야한다.
선언 형태 : auto 변수명 = 초기값(상수,변수,함수 모두 가능);
int main(){
int n = 2;
float f = 2.3;
auto answer1 = n; // auto형 변수 answer1은 n으로 초기화 되어있다.
auto answer2 = f; // auto형 변수 answer2은 f으로 초기화 되어있다.
auto answer3 = n + f; // auto형 변수 answer3은 n + f 으로 초기화 되어있다.
cout << "answer1 = " << answer1 << "\n";
cout << "answer2 = " << answer2 << "\n";
cout << "answer3 = " << answer3 << "\n";
return 0;
}
나중에 vector<int>::interator it = list.begin();을 사용할 때 auto를 사용하면
auto it = list.begin();과 같이 간결하게 사용할 수 있다.
decltype은 넘어간다..