본문 바로가기

알고리즘

C++ 알고리즘 공부 정리 ( 24. 3. 25 )

 

2024.03.25

군대에서 본격적으로 C++ 공부를 시작했다.

 

그 전에는 가끔 파이썬으로 한두번 백준문제 풀었었는데 기억도 거의 안나고

코딩테스트에서 주로 C++을 이용하기도 하고 메모리 공부도 하고 싶어서 C++을 접하게 되었다.

 

그리고 과거에 공부했던 것들을 정리해보고자 블로그에 조금씩 적어두기로 하였다.

 

내가 사용하는 기본 문법

#include <bits/stdc++.h>
using namespace std;

int main(void){
    int a = 0
    cin >> a;
    cout << a;
    
    return 0;
}

 

#include <bits/stdc++.h>

제일 위에 입력하는 헤더파일이다.

헤더파일은 외부에 있는 소스파일에 정의된 변수나 함수를 쓸 수 있다.


bits/stdc++.h 는 C++의 모든 표준 라이브러리를 갖고 있다.

 

만약 헤더파일이

#include <stdio.h> 라면 cin, cout를 못쓴다.

stdio.h는 c++이 아닌 c언어에서 사용하는 scanf, printf를 쓸 수 있게 해준다.

 

 

using namespace std;

원래는 cin 앞에 std::를 붙여서 사용해야 하는데 namespace로 std를 기본으로 설정한다. (std란 standard의 줄인말이다.)

그래서 std::cin 을 cin으로 하여 간결하게 사용 할 수 있도록 한다.

 

 

 

cin >> a;

C++은 특이하게도 입력을  >> 를 사용한다.

그리고 개행문자를 입력받지 않아서 띄어쓰기가 있으면 그 이후의 값은 받지 않는다.

띄어쓰기 입력을 받고 싶으면 getline을 사용해야한다.

 

 

cout <<  a;

출력은 입력과 반대로 <<를 사용한다.

처음엔 입력과 출력 서로 햇갈리는데 이제는 적응하게 되었다.

 

 

return 0;

main함수가 정상적으로 종료할 수 있도록 마무리 해준다.

 

 

 

C++을 하면 할 수록 파이썬에서는 간편하고 쉽게 하던걸 내가 직접 하나씩 해야한다는게 조금은 불편한 느낌이 들었다. 근데 이걸 조금씩 하면서 어떤 원리로 실행되는건지 파악하게 되어서 점점 빠져들게 된다.

 

C++을 공부하면서 과거에 아무것도 모르고 기능만 이용하던 나를 반성하게 된다.