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)
-> 함수를 기초부터 학습합니다.