음악, 삶, 개발

Part 1 The Basics 본문

개발 공부/C++ Primer (5th Edition)

Part 1 The Basics

Lee_____ 2020. 8. 13. 02:16

Contents

 

Chapter 2 Variables and Basic Types

Chapter 3 Strings, Vector, and Arrays

Chapter 4 Expressions

Chapter 5 Statements

Chapter 6 Functions

Chapter 7 Classes

 

널리 사용되는 모든 프로그래밍 언어는 공통의 기능들을 제공한다. (세부적으로 서로 차이가있지만)

언어가 제공하는 이 기능들의 detail 을 이해하는것은 언어를 이해하기위한 첫번째 step 이다.

이 공통된 기능들중 가장 근본적인것들은 아래와 같다.

 

  • Built-in types : 정수 (integer), 문자 (character) 와 같은 것.
  • Variables (변수) : 우리가 사용하는 객체에 이름을 지어줄수있게하는것.
  • Expression 과 Statement : type 들의 값을 조작(manipulate)하게하는것.
  • Control Structure : if 나 while 처럼 조건을 가질수있게하거나, 일련의 행동을 반복적으로 할수있게 해주는것.
  • Function : 호출가능한 연산 (computation) 단위를 정의할수있게해주는것.

대부분의 프로그래밍 언어들은 위의 기능들을 2가지 방법으로 제공한다.

1. 프로그래머가 자신만의 고유 type 을 정의하여 언어를 확장하게 해준다.

2. 다른 방법으로는 언어에 내장되지 않은 유용한 함수와 type을 정의하는 라이브러리 루틴을 제공한다.

 

C++ 또한 다른 언어들처럼 객체의 type 이 어떠한 operation 이 수행될수있는지 결정한다.

특정 표현식이 legal 한지는 표현식의 객체 유형에 따라 다르다.

Python 같은 몇몇 언어들은 type 을 run-time 에 체크한다.

이와 대조적으로 C++ 는 정적으로 type화된 언어다.

따라서 type checking 은 compile-time 에 하게된다.

결과적으로, compiler 는 반드시 프로그램안에 쓰인 모든 이름들의 각 type 을 알아야한다.

C ++는 일련의 built-in type 과 각 type을 조작하는 연산자 및 프로그램 흐름 제어를위한 작은 명령문들을 제공한다.

이러한 요소는 알파벳을 형성하여 크고 복잡한 실제 시스템을 작성할 수 있다.

이 기본 수준에서 C ++는 간단한 언어이다.

C++ 의 표현력은 프로그래머가 새로운 데이터 구조를 정의 할 수있는 메커니즘에 대한 지원에서 비롯된다.

이러한 특징들은 언어의 설계자가 프로그래머들의 요구를 예상할 필요 없이 그들의 목적에 맞게 언어를 구성할 수 있게 해준다.

아마도 C++ 에서 가장 핵심적인 기능은 프로그래머가 자신만의 type 을 정의할수있게 해주는 class 이다.

C++ 에서는 class 를 built-in type 과 구분하기위해 class type 이라고도 부른다.

일부 언어에서는 프로그래머가 type을 구성하는 데이터 만을 지정하는 type을 정의 할 수 있다.

이와 달리 C ++는 프로그래머가 데이터뿐만 아니라 operation을 포함하는 type을 정의 할 수 있도록 해준다.

C ++의 주요 디자인 목표는 프로그래머가 built-in type만큼 사용하기 쉬운 그들만의 type을 정의 할 수 있도록하는 것이다.

표준 C ++ 라이브러리는 이러한 기능을 사용하여 class type 및 관련 함수의 풍부한 라이브러리를 구현한다.

 

C++ 를 마스터하는 첫 걸음은 Part 1 의 주제인 언어의 기본과 라이브러리를 배우는것이다.

Chapter 2 는 built-in type 과 사용자 정의 type 을 정의하는 메카니즘을 간략히 다룬다.

Chapter 3 은 가장 핵심적인 library 인 string vector 그리고 C++ 의 low-level 자료구조인 array 를 다룬다.

Chapter 4 부터 6 까지는 expression, statement, function 을 다룬다.

Chapter 7 은 사용자 정의 type class 의 기본을 다룬다.