C++ 튜토리얼

C++

이 페이지에서는 스무디코딩의 C++ 튜토리얼 목차를 정리했습니다.

C++는 비야네 스트롭스트룹이 1978년도 부터 개발한 객체 지향 프로그래밍 언어입니다. C언어의 창시자 데니스 리치와 같은 벨 연구소 출신이며 오늘날 C와 C++가 호환성을 가지는 것은 C++이 C의 영향을 받았기 때문입니다.

객체 지향 프로그래밍의 시대가 도래하면서 C++은 C언어와는 전혀 다른 언어로 성장했으며 오늘날 객체 지향 프로그래밍 언어의 대명사인 자바 언어에도 영향을 준 것으로 알려져 있습니다.

C++은 많은 분야에 사용되지만 언리얼4 엔진같이 하드웨어의 성능을 최대로 이끌어 내야하는 게임 분야에서 많이 사용되고 있습니다. 유니티는 또다른 솔루션인 마이크로 소프트의 C# 스크립트를 중심으로 돌아가지만 여전히 가상현실 같은 최고의 3D 그래픽 게임 엔진에는 C++ 이 핵심이라고 합니다.

C언어처럼 포인터로 하드웨어 성능을 최대한 뽑을 수 있으면서도 객체 지향 프로그래밍 디자인으로ㅓ 대규모 프로젝트에 유리하기 때문입니다. 지금도 AAA게임이나 가상현실(VR) 프로젝트는 대부분 C++로 개발되고 있습니다.

C++은 학습 과정이 어려운 만큼 보상이 큰 언어이기도 합니다. 빨리 풀스택 개발자가 되고 싶다면 C언어나 자바보다 C++로 시작하라는 이야기가 많은 것은 맞는 말이긴 합니다. 근데 어차피 프로그래밍을 오래 하다 보면 이것 저것 다 건드리게 되있습니다. 어느 것을 먼저 하냐에 따라 차이는 있겠지만 제대로된 길이라면 나중에는 어느정도 비슷한 이해도로 수렴한다고 합니다. 역시 모든 진리는 한길로 통한다 인가?? C++, 자바, C언어, 어셈블리어 어떤 언어를 사용해도 CPU와 메모리 하드디스크는 똑같은 것이니까 그게 맞는지도 모르겠습니다.

C++ 개발환경(IDE) 설치

-> C++ 을 학습하고 개발하기 위한 환경을 설치합니다.

C/C++ 비주얼 스튜디오 코드 설치

Dev-C++ 설치 및 테스트 – IDE

C++ 시작하기

-> 간단한 예제코드 설명으로 C++ 를 시작합니다.

C++ 시작하기

Hello World 의미

C++ 기본 조작

-> C++의 기본 조작입니다.

입력과 출력

간단한 함수와 변수

namespace 이름공간

C++ 기초 자료형(data type)

-> C++의 기초 자료구조인 배열과 구조체 등을 학습합니다.

배열(Array)

문자열

문자열(String) 소개

구조체(struct)

공용체(Union)

열거체 소개

포인터와 메모리 입문

-> 포인터 기초 개념입니다.

C++ 포인터(Pointer)

C++ 포인터와 문자열

strcpy() 문자열 복사 – char 배열과 포인터

동적 구조체(Dynamic struct)

문자열 동적 저장(Dynamic String)

저장공간 개념(Storage)

메모리 누수(Memory Leak)

C++ vector, array 객체

반복문(loop)

-> 반복문 루프를 학습합니다.

반복문 for 루프

증감 연산자

관계 연산자

for 루프 연습 – 문자열처리, for 중첩

while 루프

do while 루프

분기문(branch)

-> C++ 선택문, 분기문입니다.

if 분기문

if else 구문

논리 연산자

조건 연산자 ?:

switch 구문

break 문 continue 문

함수(Function)

-> 함수를 기초부터 학습합니다.

함수 기초

함수 배열 매개변수