isdigit 사용할때 매번 이상했던 점 해결
if(isdigit(*part.c_str())) 
- isdigit은 인자로 char변수를 받아야 함
- 즉 문자 한개만 받아서 그게 숫자인지 아닌지 판별함
- 근데 안에 string을 넣으니 일단 문제가 계속 생겼었고
해결법으로 c_str()로 string to char을 하려고 했지만 c_str()의 결과물은 char가 아니라 char*였음
그러니 char포인터 안에 있는 값인 char값을 빼오려면 *변수.c_str()을 해야 했음


입력형태가 무조건 고정되어 있다면
stringstream ss;
ss.str(s);
ss>>a>>op>>b>>eq>>c;
위처럼 아예 시작부터 다 넣어버리고 해도 된다.
예를들어 a + b = c 형태로만 들어온다면
위 형태로 다 넣고 시작하면 a, b, c 변수로만 쉽게 풀어나갈 수 있음



string find 함수는 문자뿐 아니라 문자열도 찾을 수 있다.
if (str.find("rich") != string::npos) 
cout << "찾는 문자가 존재합니다";
위처럼 문자열안에 "rich" 라는 문자열이 있는지 찾는것도 가능



쉬프트연산
* 2 나 / 2 를 여러번 해야 하는 경우 쉬프트 연산을 쓰는게 깔끔할 수 있다
10 << 1; 하면 그냥 20이 되고
10 << 2; 하면 10 * 2 를 2번해서 40이 된다
10 >> 1; 은 5가 되고
10 >> 2; 는 2.5가 되는 것



문자열 전체에 영향을 끼칠 경우 for문 돌리기보다 transform 먼저 떠올리기