1 minute read

C++정리 1 (C++ 프로그래밍의 기본)

오늘부터 학기 중에 배운 c++언어를 정리하려고 합니다.

저의 학교 수업으로 고급 프로그래밍이라는 수업을 들었습니다. 이 수업은 c++ 프로그래밍 언어에 대해서 배우는데 객체 지향에 대한 개념을 알려주는 수업입니다.

저는 C언어는 방학 동안 어느 정도 공부를 해놓은 상태 였고 c++ 언어를 공부하기 위해 방학 동안 “명품 c++ 프로그래밍” 책을 구매해서 유튜브의 따배씨++ 강의 와 함께 공부하였습니다.

저는 1학년때 파이썬을 처음으로 컴퓨터 언어를 배웠고 c++언어가 제가 배우는 2번째 언어였습니다. 제가 프로그래밍 언어를 공부하면서 느꼈던 것은 처음에 공부할 때 너무 자세히 공부하면 안된다는 사실이었습니다.

이게 무슨 소리지 하시는 분들도 있겠지만 처음에 언어를 공부할때는 최대한 빠르고 편하게 공부하여야합니다.

어떤 키워드가 쓰이는지 감만 잡고 넘어가야 합니다. 이때 빠르게 강의나 책을 끝까지 훑는 것이 중요합니다. 그러고 그 이후에 하나의 프로젝트를 만들거나 문제를 풀면서 개념을 다시 찾아보며 익히는 것이 훨씬 효율적이고 도움이 됩니다. 그리고 무작정 백준사이트에서 문제를 푸는 것보다 큰 하나의 프로젝트를 만드는 것이 더욱 도움이 된것 같습니다.( 예: 계산기)

그러면 이제 본격적으로 c++ 언어 정리를 시작하겠습니다.

c언어의 기본적인 문법 정리는 생략하겠습니다.


화면 입출력

iostream

​ #include

전처리기에 대한 지시문 으로 이렇게 씁니다.

iostream은 입출력을 위한 클래스와 객체가 선언 되어있는 헤더 파일 입니다. cout과 cin을 사용하기 위해서는 이 문장을 꼭 작성해주시고 사용할 수 있습니다.

화면 출력

​ std::cout « “안녕하세요” « endl;

c++에서 화면에 출력을 하기 위해서는 위와 같이 작성합니다.

namespace 안에 있는 cout을 사용한다는 뜻에서 std::cout 라고 작성 하고 « 를 작성하고 출력할 말을 적은다음 «을 적고 마지막에 endl을 작성해줍니다. 이것의 뜻은 다음 줄로 넘어가겠다는 뜻입니다. 그리고 c++에서는 c언어 문법에서 했듯이 항상 마지막에 ;를 적어줍니다. 이것은 문장을 다 적었다는 뜻입니다.

« 연산자의 뜻은 오른쪽 데이터를 왼쪽 스트림 객체에 삽입하겠다는 뜻입니다. 또한 이 연산자는 왼쪽 쉬프트를 뜻합니다.

namespace

그렇다면 위에서 잠깐 얘기한 namespace는 무엇일까요?

프로그래밍을 하면 동일한 이름을 사용해서 두 개의 동일한 이름끼리 충돌을 하는 경우가 발생합니다. 이것을 방지하는 것이 namespace입니다. namespace를 사용하면 고유의 이름 공간을 만들 수 있습니다. 이 이름 공간에 있는 이름들은 별개로 여겨 집니다.

std

그렇다면 std는 무슨 namespace일까요? std는 2003년 c++표준에서 정한 “표준 이름 공간”입니다.

cout과 end을 이용할때는 반드시 이 std:: 을 작성하고 사용해주셔야 합니다.

항상 std:: 를 쓰기너무 귀찮은데?

항상 std::를 작성하는 것은 귀찮은 일입니다. 그래서 c++에서는 이러한 기능을 제공합니다.

​ using namespace std;

이 것을 작성하면 모든 코드에서 std::를 생략할 수 있다.

Updated: