C++ 코딩

반복자란? : C++ 라이브러리는 반복자를 제공하는데 이것을 사용하면 라이브러리의 방식대로 자료구조를 액세스 할 수 있다. 따라서 라이브러리가 효과적으로 동작한다는 것을 보장 할 수 있다는 장점이 있다. 즉, 포인터와 상당히 비슷하며, 컨테이너에 저장되어 있는 원소들을 참조할 때 사용한다. 추상적으로 말하자면, 반복자란 컨테이너에 저장되어 있는 모든 원소들을 전체적으로 훑어 나갈 때 사용하는, 일종의 포인터와 비슷한 객체라고 할 수 있다. 알고리즘 마다 각기 다른 방식으로 컨테이너를 훑어가기 때문에, 반복자에도 여러가지 종류가 있게 된다. 영어로 iterate라는 단어는 'to repeat a process, especially as part of a computer program' 이라고 사전적으로 정..
연산자 오버로딩이란? 오버로딩이란 기존 함수에 새로운 의미를 부여하거나, 파라미터를 추가하거나, 새로운 것을 만들어 낸다는 개념이다. 연산자 오버로딩은, 연산자도 하나의 함수처럼 생각하여 이를 오버로딩한다는 개념이다. 기존의 정의되어있는 데이터 타입을 우리가 만든 연산자에도 대해서 동작하게 하는 것이다. 즉, 연산자 오버로딩은 객체 지향 프로그래밍(OOP)에서 다른 연산자들이 함수 인자를 통해 구현되는 것을 말한다. 예를 들어, 덧셈 연산자는 정수가 들어올때도 동작하고, 실수가 들어올때도 동작하게 만들어져있다. 이러한 덧셈연산자를 우리가 정의한 데이터 타입에 대해서도 동작하게 하는것이 연산자 오버로딩 이다. 대부분의 연산자는 자식까지 상속이 된다. 결국, 기억해야 하는 것은 연산자 operator 는 그..
for loop문이란? : iterate through collection. 일반 for문은 다음과 같이 사용한다. #include #include #include int main() { int data[] = { 1,2,3,4,5,6 }; for (int i = 0; i < 6; i++) { std::cout
1. 문자열 중간 자르기 *Function Call by Value 는 값 복사다 : Call by Value 는 값 복사다. void PlusFunction(int x); 의 x는 parameter(매개변수)로써 일종의 로컬변수라고 생각하면 된다. main()함수에서 int a를 PlusFunction()함수에 매개변수로서 넘겨준다는 것의 의미는, main()함수 안에 존재하는 a를 복사해서 PlusFunction() 함수 안에 넘겨주고, 이 복사된 a값을 x라는 매개변수를 통해 받아서, 함수 안에서 1을 증가시킨 다음 x를 출력하겠다는 것이다. 따라서 결과값은 PlusFunction(a)는 11이 되지만, a값은 복사해서 넘겨줬으니 main() 함수 안의 int a는 여전히 10이다. 2. Pass ..
C++ 삼항연산자 (조건연산자) : C++ 삼항연산자 는 if ~ else 문을 대신하여 사용할 수 있는 연산자이다. 조건연산자 또는 삼항연산자 라고 불린다. 1. 형태 ‘조건’ ? ‘A’ : ‘B’ : 조건이 참이면 A를 반환하고 조건이 거짓이면 B를 반환 2. 예시 1) 실무에서 많이 사용하는 형태 MAX_UINT16 은 65535로 define 되었으므로 그대로 출력된다. MAX(a,b) 를 a>b 가 참이라면 a를 반환, 거짓이라면 b를 반환하기로 define 한다. 따라서 MAX(10, 100) 은 10>100 이 거짓이므로 100을 반환해 주면 된다. 2) int nResult = 0; int A = 10, B = 20; nResult = (A < B) ? A : B; std::cout
STL이란? STL과 std 뭐가 다른가? C++ 프로그래밍 언어에서, C++ 표준 라이브러리(C++ Standard Library)는 C++ 표준 자체로 쓰여진 클래스들과 함수들의 집합니다. C++ 표준 라이브러리는 여러 제네틱 컨테이너들, 그리고 이러한 컨테이너들과 함수 객체, 제네릭 문자열, 스트림(파일 입출력과 인터렉티브를 포함하는), 몇몇 언어 특징 그리고 숫자의 제곱근을 찾는 것과 같은 작업을 위한 모든 함수들을 활용하기 위한 함수들을 제공한다. ".h" 로 끝나지 않는 헤더는 C++ 표준 라이브러리에는 존재하지 않는다. C++ 표준 라이브러리의 특징은 std 이름공간(namespace) 내에 선언된다는 것이다. C++표준 라이브러리는 표준 템플릿 라이브러리(STL : Standard Temp..
공용체형의 원리 이해하기 공용체 (union data type)라는 형은, 구조체형과 그 스타일이 매우 흡사한 사용자 정의형이다. 공용체형의 선언 union 공용체형명 { 형명 식별자; 형명 식별자; .... }; 공용체형의 구문은 구조체형과 매우 비슷하다. struct 키워드 대신에 union 키워드를 사용하면 된다! 공용체 또한 공용체형 변수를 선언해서 값을 저장할 수 있다. 단, 공용체형의 모든 멤버는 저장 공간을 공유하므로 -공용체에는 값을 한번에 하나만 저장시킬 수 있다.- 라는 특징이 있다. 다음 코드를 통해 확인해 보자. 이 코드에는 공용체형 union Year가 새롭게 선언되어서 형으로 사용되고 있다. 또한, 공용체형 변수 myyear을 선언한 후, myyear에 접근하고 있다. 코드의 실..
1. 구조체형의 원리 이전 글에서 배운 사용자 정의형 enum과 같이, 구조체형(structure data type) 또한 프로그래머가 만들 수 있는 사용자 정의형 중의 하나이다. 구조체형은 다른 형들을 묶어주는 기능이 있는 것이 특징이다. 예를 들어, 차량 번호(int형)와 연료의 양(double형)과 같은 다른 형의 값을 하나로 묶어서 차의 기본적인 속성을 표현할 수 있는 것이다. (쉽게 이해하면, 차 라는 물체를 코드로 구현해 주는 것이다.) 구조체에 어떤 형을 묶을지 결정하는 일을 구조체형 선언이라고 한다. 구조체를 선언할 때에는 struct 키워드를 사용한다. 구조체형의 선언 struct 구조체형명 { 형명 식별자; 형명 식별자; .......... }; 구조체형은 블록 안에 변수와 같은 요소들..
HeadlessCreator
'C++ 코딩' 카테고리의 글 목록