본문 바로가기

프로그래밍/키워드 정리10

[C++] 복습용 키워드 정리 - 10 템플릿은 어떤 자료형이 들어올 지 모르지만, 같은 처리를 요구할 경우에 사용한다. 클래스와 함수에 사용이 가능하며 각각 클래스 템플릿, 함수 템플릿이라고 한다. 사용법은 간단하다. 템플릿이라 선언하고, 들어올 타입들을 총칭할 이름을 설정하고 그 이름으로 함수 혹은 클래스를 작성하면 끝이다. template T add(T a, T b) { return a + b; } 위의 코드에서 어떤 자료형이 인자로 들어올 지 모르기 때문에 템플릿으로 함수를 작성하였다. 매개로 들어오는 자료형과 반환되는 자료형은 임의로 지정해둔 T라는 이름으로 되어 있다. 인자를 어떤 것을 넣냐에 따라 반환형이 달라진다. int를 넣으면 int형으로 반환이 되고, float로 넣으면 float형으로 반환이 된다. 클래스 템플릿을 작성할.. 2023. 4. 3.
[C++] 복습용 키워드 정리 - 9 C언어에 있는 자료형으로 주소값을 담는 변수이다. int a는 정수를 담는 변수지만 int* b는 int형 변수의 주소를 담는 변수다. 따라서 b = a가 성립이 되지 않고 b = &a로 주소값을 담아야 b에 값이 담긴다. 또한 이렇게 주소값을 담고 있기 때문에 b에서 변수 a에 접근이 가능하고 b를 통해 a의 값을 변경할 수 있다. a = 10; *b = 20; 위와 같은 코드가 입력이 되면 처음 a에는 10이라는 값이 담겨 있지만 b가 가지고 있는 주소에 접근해 값을 변경하여 20이라는 값을 담았기 때문에 나중에 a의 값을 출력하면 20이라는 값이 나온다. 또한 포인터 변수는 주소를 담고 있기 때문에 동적할당에 이용이 된다. C에선 malloc, C++에선 new라는 키워드로 동적할당이 되는데 동적할.. 2023. 4. 2.
[C++] 복습용 키워드 정리 - 8 정수와 실수는 수의 범위를 의미한다. 정수는 소수점 이하의 단위로 떨어지지 않는 수를 의미한다. 0 보다 큰 정수를 양의 정수, 0 보다 작은 정수를 음의 정수라고 하며 정수는 음의 정수와 양의 정수 그리고 0을 포함한다. 실수는 정수 보다 더 큰 개념으로 기본적으로 정수를 포함하고 소수점 단위로 넘어가는 수들을 포함한다. 프로그래밍에서는 정수는 보통 int 변수에, 실수는 float 변수에 담긴다. float 변수는 소수점을 표기할 때 1.05f와 같이 표기한다. 맨 뒤에 있는 f는 무엇일까? 이는 저 숫자가 담기는 변수가 float형 변수임을 표시하기 위해 사용한다. f를 빼버리면 8바이트 실수 변수인 double을 선언한 것과 같은 효과가 나타난다. 컴퓨터는 자료를 0과 1의 이진법으로 저장한다. .. 2023. 3. 29.
[C++] 복습용 키워드 정리 - 7 특정 프로그래밍 언어로 쓰여 있는 문서를 다른 프로그래밍 언어 혹은 컴퓨터 언어로 옮기는 일종의 번역 프로그램이다. 비주얼, 터보, 볼랜드 등 언어에 따라 다양한 컴파일러가 존재하고 보통 high-level 프로그래밍 언어를 실행 프로그램으로 만들기 위한 lower level 언어(ex. 어셈블리 언어, object 코드 등)로 바꾸는 데에 사용된다. 컴파일 되기 전의 원래의 문서를 '소스 코드' 혹은 '원시 코드'라고 부른다. 이후 컴파일이 된 후 출력된 문서를 '목적 코드'라고 한다. 컴파일은 최초 코드의 구문을 분석하고 오류가 있다면 사용자에게 전달하며, 명확하지 않은 추상 구문을 분석 및 최적화하고 이후에 오류가 없는 코드를 목적 코드로 생성한 뒤 여러 라이브버리의 목적 코드를 연결하는 링킹 과정.. 2023. 3. 25.