25.05.21 (3) - C++ Tutorial 1

김영하·2025년 5월 21일

C++

목록 보기
1/32

C++ Tutorial

C++ 강의 돌입 전, 사이트를 통해 공부
C++ 튜토리얼 사이트

C++는 게임 개발에 있어 가장 많이 사용되는 언어 중 하나로,
C언어의 확장팩이기에 두 언어 사이에 유사점이 많다.
(both languages have almost the same syntax.)


연습에는 C++ Try it Yourself 사이트를 이용한다
Try it Yourself

C++ Home

C++ Intro

C++는 무엇인가?
C++는 크로스 플랫폼 언어로, 고성능 어플리케이션에 사용된다
개발자가 시스템 리소스와 메모리를 고도로 컨트롤 할 수 있게 해준다.

왜 C++를 써야하는가
C++는 가장 인기있는 프로그래밍 언어 중 하나로,
오늘날 OS, GUI, 임베드 시스템 등 다양한 곳에서 사용된다

C++는 '객체 지향 프로그래밍 언어'로
프로그램에 명확한 구조를 제공하고 "코드 재사용" 을 통해 개발 비용을 절감할 수 있다
또한, C, C#, Java와 유사한 면이 있어,
개발자가 C++와 서로 전환하기 용이하다.

C와 C++의 차이
C와 C++는 매우 유사하지만,
가장 큰 차이점은 : C++ 는 "클래스""오브젝트" 를 지원한다는 것이다.


C++ Getting Started

C++ 시작하기

C++를 시작하기 위해선 2가지가 필요한데 :

  • 텍스트 에디터, 메모장 등
  • 컴파일러, GCC 등 C++ 코드를 컴퓨터가 이해할 수 있도록 변환해주는 장치

사용할 수 있는 종류는 많지만, 여기서는 "IDE"를 사용한다

IDE 설치하기

이 부분은 필요시 대여장비에서 진행하고,
연습용 사이트가 있기 때문에 그걸로 대체한다

IDE (Integrated Development Environment)는 코드를 짜고 컴파일하는데 사용된다
(웹 기반 IDE도 비슷하게 동작하지만, 기능 제한이 있을 수 있다)
Code::Blocks 라는 프로그램을 사용할 예정
Codeblocks


C++ 구문

C++ Syntax

해당 코드를 해체 분석 해보자 :

#include <iostream>
using namespace std;

int main() {
  cout << "Hello World!";
  return 0;
}

#include <iostream>
헤더 파일 라이브러리 (header file library)로,
오브젝트를 입력하고 출력할 수 있게 해준다 ex) 5행에 쓰인 cout
헤더 파일은 C++ 프로그램에 기능을 추가하는 것

using namespace std;
"standard library" 에 있는 오브젝트와 변수들의 이름을 사용할 수 있다는 의미.

  • 이 2가지는 당장 100% 이해하기 보다는,
    프로그램에 (거의) 항상 나오는 구문이라고 생각하면 편하다

3행 째는 비어있는 행, C++는 비어있는 부분은 무시한다 코드를 더 읽기 쉽게 나눠주는데 활용

int main() 또한 항상 나오는 구문으로,
"함수" 라고 부르며,
{} 중괄호 안에 있는 모든 코드가 실행된다

5행에 있는 cout 은 "see-out" 이라고 부르며,
삽입 연산자 (insertion operator) 인 << 와 함께 "텍스트 출력/표시" 에 쓰이는 오브젝트
지금 코드 예제에서는 "Hello World" 를 출력한다

※ C++는 대소문자를 구별하며,
coutCout 는 엄밀히 다른 기능을 가지고 있는 다른 오브젝트다.
또한 모든 C++ 문장은 세미콜론 ; 으로 끝난다

6행의 return 0; 는 메인 함수를 종료시켜준다.
메인 함수가 제대로 끝나도록, 함수의 구분을 명확히 해줄 수 있도록
마지막에 중괄호를 닫는 걸 까먹으면 안된다.

네임스페이스(namespace) 생략

조금 전 '거의 항상' 사용된다고 언급한
using namespace std 문장은 생략할 수도 있는데,

몇몇 오브젝트의 경우
std 키워드와 :: 연산자 (operator) 를 사용해 문장을 생략할 수 있다

#include <iostream>

int main() {
	std::cout << "Hello World!";
    return 0;
}

std:: 를 지우면 에러로그가 뜬다


C++ 문장(명령문, statements)

C++ Statements

'컴퓨터 프로그램' 이라는 건 컴퓨터가 '실행해야할'(executed) '명령들'(instructions)의 목록.
프로그래밍 언어에서는 이런 '명령'들을 "statements" 라고 부른다

Many Statements

C++ 프로그램에는 문장이 매우 많이 들어있고,
이 문장들은 쓰여진 순서대로 실행된다 (행 순서)

cout << "Hello World!";
cout << "Have a good day!";
return 0;

방금 std:: 를 활용했던 문장에 이어서 써보면,
맨 위에 헤더 파일 라이브러리, using namespace std 가 없기 때문에
매번 std:: 를 붙여줘야 한다.


C++ Output(출력,산출)

연산자 << 와 함께 쓰이는 cout 오브젝트는
값을 출력(output)하고 텍스트를 표시(print)하는 데 사용된다
표시할 텍스트를 "" 로 감싸는 것만 주의하면 된다

output, print 둘다 '출력'으로 해석할 수 있기 때문에 의미차이에 주의

cout 는 몇 개든 쓸 수 있지만,
텍스트가 끝나고 개행해주지 않는다 는 걸 기억해야 한다


cout() 를 사용해서 숫자를 출력할 수도 있다
하지만 텍스트와 다르게, 숫자는 "" 로 감쌀 필요는 없다

설명에서는 cout() 라고 표현했지만, 실제 코드에서는 그냥 cout를 사용하는 모습


이를 이용해 수학 계산도 할 수 있다

물론 cout는 개행해주지 않기 때문에 이어서 나온다


개행

출력 화면에 개행해주기 위해선 \n 을 사용한다

#include <iostream>
using namespace std;

int main() {
	cout << "Hello World! \n";
    cout << "I am learning C++";
    return 0;
}

<< 연산자를 추가해서 별개로 세팅할 수도 있다

#include <iostream>
using namespace std;

int main() {
	cout << "Hello World!" << "\n";
    cout << "I am learning C++";
    return 0;
}

\n 을 2개추가하면 두번 개행
= 빈 행을 하나 만들어준다

#include <iostream>
using namespace std;

int main() {
	cout << "Hello World!" << "\n\n";
    cout << "I am learning C++";
    return 0;
}

같은 효과로 동작하는 endl manipulator(조정자)도 있다
(1이 아니라 소문자 l)

<< 연산자는 필요.

#include <iostream>
using namespace std;

int main() {
	cout << "Hello World!" << end1;
    cout << "I am learning C++";
    return 0;
}

보통은 \n 을 자주 사용한다.
escape sequence 라고 불리며,
커서를 강제적으로 다음 행의 시작 지점으로 보낸다 => 개행

escape sequence, 탈출 시퀀스 에는 다른 종류도 있는데,

  • \t : Tab 버튼 눌렀을 때처럼 띄어준다

  • \\ : '\' 를 삽입해준다.

  • \" : '"' 를 삽입해준다.

    마크다운에서의 '\' 쓰임새를 생각하면 2개가 들어가야하는 이유가 보인다

profile
내일배움캠프 Unreal 3기

0개의 댓글