C++/C++심화

    [C++]13 C++ 문자열 비교 하는 라이브러리 사용하기(strcmp,strncmp)

    [C++]13 C++ 문자열 비교 하는 라이브러리 사용하기(strcmp,strncmp) 안녕하세요 고급개발자가 꿈인 코린이 입니다. 오늘은 c++에서 문자열 비교하는 방법에 대해서 포스팅 하겠습니다. c++에서 문자열 비교하는 방법에는 strcmp 와 strncmp가 있는데요 이 두개의 차이점과 각 리턴하는 값들의 차이점에 대해서 설명 하도록 하겠습니다. strcmp는 아래와 같이 인자를 두개를 넣을수 있습니다. #include int strcmp(const char *string1, const char *string2); 이와 다르게 strncmp는 인자를 3개 넣을수 있죠 #include int strncmp(const char *string1, const char *string2, size_t co..

    [C++]12. C++ 소스코드에서 linux 명령어 실행 하는 방법

    [C++]12. C++ 소스코드에서 linux 명령어 실행 하는 방법 안녕하세요 고급개발자가 꿈인 코린이 입니다. 오늘은 C++ 소스코드에서 linux 명령어를 실행하는 방법에 대해서 설명 드리겠습니다. 가끔 코딩을 하다보면 directory를 만들거나 파일은 만들어줄때가 있는데요 이러한 것을을 쉽게 하기위해서 명령어들을 입력해서 실행할수 있도록 하는 하는 c++ 표준 라이브러리가 있습니다. 바로 system이라는 함수 인데요 이함수를 이용해서 매개변수에 string 형식으로 리눅스 명령어를 적으면 리눅스 명령어들을 실행할수가 있습니다. 아래의 코드를 보겠습니다. ServiceClass.hpp 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24..

    [C++]11. 프로세스와 스레드(멀티 프로세싱? 멀티 스레드?)

    [C++]11. 프로세스와 스레드(멀티 프로세싱? 멀티 스레드?) 안녕하세요 고급개발자가 꿈인 코린이 입니다. 오늘은 프로세스와 쓰레드에대해서 다루어 보도록 하겠습니다. 이 내용은 특히 면접볼때 단골 질문으로 초보 개발자 분들께서는 프로세스와 쓰레드의 정확한 차이점을 알기 힘듭니다. 왜냐하면 학교에서 프로젝트하거나 혼자 만들었던 프로그램들은 프로세스간통신(IPC)를 할 필요도 없고 단일 프로세스로만 거의 구현을 하기때문에 정확히 인지하고 있지 않는경우가 많습니다. 즉 여기서 단일 프로세스란 초보개발자 분들께서(저포함) 하나의 프로젝트를 생성해서 가장 기본인 Hellow word를 출력했을때 이것이 바로 하나의 프로세스 입니다. 여기서 하나의 프로세스들은 각 하나의 메인 쓰레드를 갖는데 그이유는 쓰레드가 ..

    [C++]10. vector 사용하기(구조체 vector중간 원소 삭제하기,특정원소 삭제하기)

    [C++]10. vector 사용하기2(구조체 vector중간 원소 삭제하기,특정원소 삭제하기) 안녕하세요 고급개발자가 꿈인 코린이 입니다. 아주 작은 블로그이고 정보도 별로 없지만 찾아주신 모든 분들께 감사드립니다. 오늘은 vector를 주제로 다시한번 포스팅을 하려고합니다. 지난 포스팅에 구조체 vector를 사용하는 방법과 vector의 중간원소 삭제하는 포스팅을 했었는데요 막상 다시 읽고 다시 보니까 많이 부족한 부분이 있어서 초보 프로그래머들이 필요할 것같은 내용을 준비해 보았습니다. 구조체 vector를 먼저 포스팅하고 중간원소 삭제할때는 int형 vector를 가지고 삭제를 해서 만약에 구조체 vector의 특정 원소를 삭제할때는 어떻게 해야할지 의문이 드실 분들이 많을것같아서 구조체 vec..

    [C++]9. C++ #if #define 사용하기(전처리 지시문 사용하기)

    [C++]9. C++ #if #define 사용하기 안녕하세요 고급 개발자가 꿈인 코린이 입니다. 오늘은 C++에서 많이 쓰이는 #if에 대해서 알아 보도록 하겠습니다. 프로그래밍을 하다보면 if문이 있죠 이런 if문 등을 이용해서 특정한 부분을 빌드를 못하게 막거나 테스트 코드를 만든다거나 할때 쓰이는 것이 전처리 지시문 입니다. 그런데 이러한 #if문이다 #define문등을 왜 사용하는지 이유를 모를때가 많습니다. 현업에서 C++로 프로그래밍을 하면 아 이것은 당연히 사용하는거 아닌가 하지만 초보 프로그래머나 학교에서 작은 프로젝트를 하는사람들은 이게 왜?? 필요한것인지 의문이 들때가 많습니다. 그래서 코드를 가지고 설명을 드리겠습니다. pro파일 1 2 3 4 5 6 7 8 9 10 11 12 13..

    [C++]8. C++ list사용하기

    [C++]8. C++ list사용하기 안녕하세요 고급 개발자가 꿈인 코린이 입니다. 오늘은 c++에서 사용하는 list container를 설명 드리겠습니다. c++에서는 vector 말고도 많이 사용되는 list가 있습니다. list라고 하면 요즘에 자바를 많이 배우기 때문에 이름은 많이 익숙합니다. 하지만 자바에서 사용하는 list와 c++에서 사용하는 list는 많은 차이가 있습니다. c++에서 사용하는 list를 중간 원소에 대해서 직접 참조를 할수가 없습니다. vector에서는 at과 배열과 같이 대괄호를 사용해서 각 원소의 위치값의 원소를 직접 참조 할수 있지만 list의 경우는 참조할수가 없습니다. 물론 반복자를 통해서 접근 하는 방식은 있지만 초보 개발자 분들께서는 살짝 어려운 감이 있습니..

    [C++]7. vector 사용하기(vector에서 중간 원소 삭제하기)

    [C++]7. vector 사용하기(vector에서 중간 원소 삭제하기) 안녕하세요 고급 개발자가 꿈인 코린이 입니다. 오늘은 vector에 중간 원소를 삭제하는 방법에 대해서 설명 드리겠습니다. vector에서 사용하는 함수는 push_back 및 pop_back들이 있습니다. 이것 들은 stack구조를 가지고 있습니다. 그래서 먼저들어온것이 나중에 삭제되는 구조를 가지고 있는데요. 이렇게 되면 vector로 지정하면 중간에 있는 원소들은 삭제가 불가능 한것인지 그리고 vector중간에 데이터를 넣을수는 없는지 의문이 생기게 됩니다. 중간에 데이터를 넣거나 삭제를 할수 없다면 프로그래밍에서 구지 필요없는 컨테이너겠죠?? 그래서 오늘은 vector 중간에 데이터를 넣거나 삭제하는 내용을 포스팅 하겠습니다..

    [C++]6. vector 사용하기(구조체 vector사용 하기)

    [C++]6. vector 사용하기(구조체 vector사용 하기) 안녕하세요 고급 개발자가 꿈인 코린이 입니다. 오늘은 c++ 컨테이너 중에 하나인 vector를 사용하는 방법에 대해서 설명 드리겠습니다. c++에서 vector는 java의 리스트와 같이 많이사용하는 것중에 하나 입니다. 실제로 실무에서 여러가지 데이터들은 담거나 담은 데이터를 다른 앱으로 ipc(프로세스간 통신)을 할때 가장 많이 사용되는 것중에 하나 입니다. vector는 c++ 초보자들에게 조금 거리가있는 iterator를 사용하지 않아도 데이터의 특정위치의 값을 직접 참조할수 있고 데이터를 넣을수도 있습니다. 그래서 iterator에 거부감이 있는 분들도 쉽게 사용할수가 있습니다. 실제로 특정 위치의 데이터의 접근이 안되는 컨테이..