본문 바로가기

프로그래밍/C || CPP26

[C | C++] #define 매크로 상수, 함수 정리 1. #define 매크로란?C나 C++ 관련 책을 보게 되면 #define이라는 것을 본 경험이 있을 것이다.#define 은 매크로를 정의할 때 앞에 써주는 키워드라고 생각하면 되겠다. 매크로는 프로그램 내에서 컴파일러가 매크로를 만났을 때, 대체할 문자열을 정의하는 것을 말한다.이러한 매크로는 컴파일러가 컴파일을 시작하기 전에, 전처리가 #define으로 정의된 기호상수 등을 확장 문자열로 변환시키는 동작을 한다. 그럼, 매크로에 대해서 자세히 알아보도록 하자. 2. 매크로 상수, 매크로 함수를 알아보자.위에서 매크로가 무슨 기능을 하는 것인지는 알아봤으므로, 어떤 형식으로 이루어졌는 지 알아보자. 12#define [매크로 상수명] [매크로 확장 문자열]#define [매크로함수명(전달인자)] [.. 2018. 5. 10.
[C++] 인라인(inline) 함수를 알아보자! 1. 인라인(inline) 함수란?먼저, 인라인 함수라고 이름을 붙인 의미를 이해해보자. 인라인은 말 그대로 인(in) + 라인(line) 으로 '코드라인 내부에 들어간 함수' 라고 생각하면 될 것 같다. 인라인 함수와 비슷한 기능으로는 C언어에서 매크로 함수가 있었다.혹시, 매크로 함수가 정확히 기억이 나지 않는다면, 다음 링크를 참고해보자![매크로 함수 알아보기] 어쨌든, 비슷한 기능을 하는 매크로 함수가 존재하였는 데, 인라인 함수가 추가된 이유는 뭘까.그러므로, 먼저 매크로 함수의 장/단점을 간단하게 정리해보자. 매크로 함수의 장점은 일반적인 함수에 비해서 실행속도가 더 빠르다는 점이다.반면에 단점으로는 정의하는 것이 어렵고, 복잡한 매크로 형태로 정의하는 것에 한계가 있다는 것이다.간단한 예를 .. 2018. 5. 6.
[C++11] DEFAULT / DELETE 키워드 정리 사실, 이번 포스팅에서는 DELETE 키워드만 정리하려고 하였으나, 해당 내용을 공부 하다 보니 DEFAULT도 같이 정리해야 한다는 것을 알 수 있었다.그 이유는 아래에서 설명하겠다. 1. default 키워드는 무엇인가.우선, 기본적으로 C++에서는 클래스를 만들 때, 자동으로 멤버 함수를 만들고 있다는 것을 알 것이다. 다음 예를 보자.12345678class ExDefault{private: int _size;public: void setSize(int size) { _size = size; } int Size() { return _size; }};Colored by Color Scriptercs예를 보면, 생성자나 소멸자는 따로 정의하지 않았다. 하지만, 클래스를 생성해보면, 큰 문제는 없을 것.. 2018. 5. 2.
[STL] STL 반복자 정리 (iterator) 1. STL 반복자란C++를 사용하게 되면, 보통 STL을 사용하게 된다. 이러한 STL을 사용 하게 되면, 자연스럽게 반복자를 사용 하게 되는데..흔히들 iterator라는 키워드로 알고 있을 것이다. STL에서 반복자는 포인터와 비슷하게 동작한다.반복자는 컨테이너에 저장된 원소를 순회하면서 접근하는 방법을 제공한다.또한, 컨테이너와 알고리즘을 하나로 동작하게끔 중간에서 인터페이스 역할을 한다.* 컨테이너 : vector, list, queue, set 등등과 같은 것을 말함.* 알고리즘 : 검색, 삭제, 복사 등등을 말함. STL의 모든 컨테이너는 각자의 반복자를 제공한다. 공통적으로는 멤버 함수 begin()와 end()가 순차열의 시작과 끝을 가리킨다.주의할 점은, 순차열의 시작과 끝에서 끝은 실.. 2018. 4. 29.