목록분류 전체보기 (747)
No Rules Rules
앞서 설명드렸던, 흔히들 알고 있는 for문은 다음과 같습니다. for(int idx = 0; idx < 10; ++idx) { ... } C++언어에서는 색다른 for문이 추가되었는데요. 그것은 for each문 입니다. int some_value[10]; for each(int value in some_value) { ... } 특이하게 생겼죠? for each문은 배열의 인자를 하나씩 받아옵니다. 즉, 위 for each문은 10번의 논리식을 수행하게 되고(some_value가 10개라서) 매회마다 value의 값이 변하게 됩니다.(some_value의 첫번째부터 마지막까지) 잠깐! 논리식의 기능에 따라 for each문의 단점(?)이 존재하는데요. 바로 증감식에서 사용된 변수 (첫 예제를 보자면 ..
처음 언어를 배우면 흔히 조건문, 반복문을 시작하게 됩니다. 여기서 반복문이란 말 그대로 "반복"해서 무언가를 동작하게 할때 사용됩니다. 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++이라는 언어가 사용하는 라이브러리 중 하나라고 보시면 됩니다. 자료구조 대부분의 선형 구조와 비선형 구조를 제공하며, 여러가지 알고..
前 이노와이어리스, 前 한화시스템, 現 삼성전자에서 SW개발자로 근무중인 87년생 노비입니다. 이노와이어리스 (11.10~16.03) : 계측장비 개발, GUI 개발 한화시스템 방산부문 (16.04~23.06) : 레이더 개발, SW 프레임 설계, 과제 PL 수행 삼성전자 DX부문 (23.07~현재) : 6축 로봇 개발 100% 개발에 집중하던 이전과는 달리, 회사에서의 여러 가지 일들로 인해 '지금 내가 개발자로 살아가고 있는 것이 맞는가' 라는 의문이 들기 시작했습니다. (저만의 고민은 아니겠죠.) 아무것도 하지 않으면 아무 일도 일어나지 않는다 근로자의 신분에서 좋아하는 일만 하는 사람이 몇명이나 있겠냐마는 위에서도 언급했듯이 제가 좋아하는 개발을 못할때가 요즘들어 자주 있습니다. 누군가는 직급이 ..