목록언어 (15)
No Rules Rules
처음 언어를 배우면 흔히 조건문, 반복문을 시작하게 됩니다. 여기서 반복문이란 말 그대로 "반복"해서 무언가를 동작하게 할때 사용됩니다. C언어에서 배우는 반복문은 보통 아래와 같죠. int idx; for (idx = 0; idx < 10; ++idx) { ... } 또는 for (int idx = 0; idx < 10; ++idx) { ... } 입니다. 잠깐! 두 가지의 예제에서 idx를 생성하는 곳이 서로 다른 것을 알 수 있습니다. 왜그럴까요? 여기에는 C언어의 역사가 존재합니다. 1999년도는 C언어를 개정한 해입니다. 쉽게 말해 "현대의 C언어는 이렇게 하겠어!" 라고 획을 그은 해인데요. 이때 개정된 C언어를 통상 C99 라고 합니다. 즉, C99 이전과 이후로 C언어는 나뉜다고 할 수 있..
chrono는 사전적인 의미 그대로 시간을 나타내는 영단어입니다. https://namu.wiki/w/Chrono 기존 C언어에서는 이미 시간과 관련된 기능을 제공하고 있습니다. (time 함수) 하지만 STL의 chrono는 time 함수보다 더 다양한 기능을 제공하고, 가장 중요한 것은 측정 가능한 시간의 단위가 nanoseconds라는 점입니다. 주로 사용하는 기능에 대해서 열거해보겠습니다. 이 기능(function)이 수행되는 총 시간은? 어떤 함수를 구현했다고 했을때, 과연 이 함수를 통과하는데 총 얼마만큼의 시간이 걸리는지 측정해야 할때가 있습니다. #include #include void SomethingToDo() { ... } int main() { // std::chrono::syste..
STL pair를 먼저 확인해주세요! STL pair (feat. make_pair) 우리가 사용하는 일반적인 자료형은 char, short, int, float, double 등과 같습니다. 이는 하나의 정보를 하나의 공간에 담는 것을 의미하는데요. 그럼 두개의 정보를 하나의 공간에 담고 싶은 경우는 kim519620.tistory.com 이전 pair에서의 아쉬웠던 점! 바로 두개의 변수만을 취할 수 있다! 입니다. 그럼 3개 이상의 변수를 취할때는 어떻게 해야 할까요? STL tuple을 사용한다! 구글링을 하다보면 tuple로 사용할 수 있는 자료형의 최대 개수는 10개라고 되어 있습니다. 하지만 이것은 이전 C++ TR1에서의 경우고 C++ TR2가 정식 릴리즈된 C++17부터는 사실상 개수 제..
우리가 사용하는 일반적인 자료형은 char, short, int, float, double 등과 같습니다. 이는 하나의 정보를 하나의 공간에 담는 것을 의미하는데요. 그럼 두개의 정보를 하나의 공간에 담고 싶은 경우는 없을까요? 구조체를 사용합니다! 일반적으로 두개의 정보를 하나의 공간에 담고 싶을때 구조체를 사용합니다. 아래와 같이 말이죠. struct SomethingValue { int something1; double something2; } int main() { SomethingValue something_value; something_value.something1 = 5; something_value.something2 = 1.2; ... } 하지만 여기서 다음과 같이 불편함을 느낍니다. 나..
C++ 개발자가 필수로 알아야 하는 것중에 하나는 STL 입니다. 사실 OOP 개념에 대해서, Code의 Design 방법에 대해서 등도 중요하지만 시니어 레벨의 개발자 (보통 대리급정도 되겠습니다.) 에게 가장 필요한 것은 코딩 방법이라고 생각합니다. 왜냐면 일반적으로 SW 구조를 설계하는 경험보다는 선배가 만들어놓은 구조 속에서 코딩하는 일이 더 많기 때문이죠. 아무튼 STL이란 Standard Template Library 의 약어입니다. C++에서 제공하는 표준 라이브러리인데, 쉽게 말해서 우리가 사용하는 라이브러리 파일(*.lib, *.dll 과 같이)처럼 C++이라는 언어가 사용하는 라이브러리 중 하나라고 보시면 됩니다. 자료구조 대부분의 선형 구조와 비선형 구조를 제공하며, 여러가지 알고..