반응형
프로그래밍 노트/C&C++2021. 10. 10. 10:06C++의 vector로부터 표준편차와 평균 구하기

C++의 vector에 저장된 값으로 부터 표준편차와 평균을 구하는 예제 코드입니다. 2021. 10. 10 - 최초작성 #include #include #include #include #include using namespace std; int main() { vector v = {1, 2, 3, 4, 5}; double sum = std::accumulate(v.begin(), v.end(), 0.0); double mean = sum / v.size(); std::vector diff(v.size()); std::transform(v.begin(), v.end(), diff.begin(), [mean](double x) { return x - mean; }); double sq_sum = std::..

프로그래밍 노트/C&C++2021. 9. 22. 23:19C++ 예제 - vector에서 특정 원소값 지우기

vector에 저장된 원소중에 특정값을 지우는 예제코드입니다. 2021. 9. 22 - 최초작성 #include // for std::remove #include #include using namespace std; int main() { vector v = {1, 2, 3, 4, 5}; for(int i=0; i

프로그래밍 노트/C&C++2021. 9. 22. 17:43C++ 예제 - set을 사용하여 vector 중복 확인하기

vector 객체 중에 똑같은 값이 있는 것을 제거할 방법을 고민하다가 중복 체크가 될까 하면서 set 컨테이너에 vector 객체를 넣어봤습니다. 예상되로 잘 되네요. 2021. 9. 22 - 최초 작성 #include #include #include using namespace std; int main() { vector a1 = {1, 2, 3, 4, 5}; vector a2 = {1, 2, 3, 4, 5}; vector c1 = {1, 2, 0, 4, 5}; set s; printf("s.insert(a1) : {1, 2, 3, 4, 5}\n"); auto ret = s.insert(a1); if (ret.second) printf("삽입\n"); else printf("중복\n"); printf..

프로그래밍 노트/C&C++2021. 9. 22. 17:21C++ set 예제 - 중복 원소 검사

C++에서 중복된 정수값을 체크할 방법을 찾다가 set 컨테이너를 사용해봤습니다. set의 insert 함수를 사용할 경우 리턴값을 체크하여 중복 여부를 확인할 수 있네요. 2021. 9. 22 - 최초작성 #include #include using namespace std; int main() { set s; auto ret = s.insert(1); printf("s.insert(1) : "); if (ret.second) printf("삽입\n"); else printf("중복\n"); ret = s.insert(1); printf("s.insert(1) : "); if (ret.second) printf("삽입\n"); else printf("중복\n"); ret = s.insert(2); pri..

OpenCV/Windows개발 환경&라이브러리 빌드2021. 6. 10. 21:05윈도우 환경에서 OpenCV의 VideoCapture가 웹캠 오픈이 늦은 경우 해결 방법

로지텍 웹캠 C920 처럼 특정 웹캠의 경우 윈도우에서 OpenCV를 사용하여 웹캠으로 부터 영상을 가져오려고 하는 경우 일정시간을 기다려야 영상이 보이기 시작할 수 있습니다. 2021. 6. 10 최초작성 이 경우 벡엔드를 다음처럼 CAP_DSHOW로 지정해주면 기다림없이 바로 영상이 화면에 보입니다. 변경전 video_capture = cv2.VideoCapture(0) 변경후 video_capture = cv2.VideoCapture(0,cv2.CAP_DSHOW) Python 코드를 예시로 들었지만 C++에서도 유사한 방식으로 가능할겁니다. 참고 https://github.com/opencv/opencv/issues/17687

프로그래밍 노트/C&C++2021. 3. 27. 17:54C++ 배열(array)과 벡터(vector) 속도 비교

C++에서 배열(array)와 벡터(vector)의 속도를 비교해보았습니다. 테스트 환경은 Ubuntu 20.04와 Visual Studio 2019입니다. 2021. 3. 27 최초작성 아래 링크를 보고 궁금해져서 간단히 테스트를 해보았습니다. https://stackoverflow.com/questions/3664272/is-stdvector-so-much-slower-than-plain-arrays 전문적으로 관련 테스트를 진행해본 적이 없어서 정확한 방법이 아닐 수도 있는 점 감안하고 보세요. 틀린 점이나 개선점이 있으면 댓글을 남겨주세요. 시간 측정 방법은 아래 링크를 참고했습니다. https://stackoverflow.com/questions/2808398/easily-measure-elap..

프로그래밍 노트/C&C++2021. 2. 15. 22:23C++ shared_ptr 객체를 전달받은 함수에서 사용 후 해제하는 방법

shared_ptr 객체를 전달받은 함수에서 사용 후, 자원이 해제되는지 확인한 결과입니다. 아직 C++에 익숙하지 못해서 제 맘대로 바꿔보면서 감을 익히는 중입니다. 2021. 02. 15 - 최초작성 shared_ptr 객체를 생성한 후, 함수에 객체를 전달한 후, 지역 변수에 대입해주면 자동으로 shared_ptr의 객체가 자원해제 되는줄 알았습니다. 하지만 예상과 달리 Data 클래스의 소멸자가 호출되지 않았습니다. 소멸자가 호출되었다면 “delete[] buf” 메시지가 출력되야 합니다. #include #include #include class Data { public: ~Data() { if (buf != nullptr) { delete[] buf; printf("delete[] buf\n"..

Visual Studio 2019에서 MySQL/MariaDB C API 예제 사용하기
프로그래밍 노트/C&C++2021. 2. 8. 22:08Visual Studio 2019에서 MySQL/MariaDB C API 예제 사용하기

Visual Studio 2019에서 MySQL/MariaDB C API를 사용하는 간단한 예제를 테스트해보았습니다. 2021. 02. 08 최초작성 아래 링크에 접속하여 MariaDB Connector/C를 다운로드합니다. Oracle에서 다운로드 받으면 로그인해야 하고 번거로워서 이곳에서 다운로드 받아 사용했습니다. https://mariadb.com/downloads/#connectors OS 항목을 MS Windows (64-bit)로 변경한 후, Download를 클릭합니다. 설치하면 아래 경로에 설치됩니다. C:\Program Files\MariaDB\MariaDB Connector C 64-bit 테스트를 위해 콘솔 프로젝트를 생성했습니다. Create a new project를 선택합니다...

프로그래밍 노트/C&C++2021. 1. 24. 14:15C++ 예제 - INI 파일 생성하여 읽고 쓰기

INI 파일 라이브러리(Leksys' INI Parser https://github.com/Lek-sys/LeksysINI )를 사용하여 INI 파일을 생성하고 값을 읽고 쓰는 예제입니다. 깃허브에서 iniparser.hpp 파일만 가져오면 예제를 동작시킬 수 있습니다. 2021. 01. 24 최초작성 #include #include #include #include "iniparser.hpp" std::string get_current_path() { wchar_t path[MAX_PATH] = { 0 }; GetModuleFileName(NULL, path, MAX_PATH); USES_CONVERSION; std::string str = W2A(path); str = str.substr(0, str...

프로그래밍 노트/C&C++2021. 1. 14. 22:56C++ 예제 - 파일의 전체 경로 얻기(GetFullPathName, realpath)

현재 폴더에 있는 지정한 파일의 전체 경로(절대 경로)를 얻는 예제입니다. 2021. 1. 14 최초작성 아래 링크에서 발견한 코드를 MinGW로 테스트하니 문제 없었지만. https://stackoverflow.com/a/17632322 #include #include int main() { char path[] = "get_filepath.cpp"; char *filename; char fullpath[256]; GetFullPathName(path, 256, fullpath, &filename); // linux realpath printf("Full path: %s\nFilename: %s\n", fullpath, filename); return 0; } Visual Studio 2019에서 실행..

반응형
image