일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 맨체스터 트램
- 영국일상
- Python
- laravel
- 맨체스터일상
- 해외취업
- 영국취업
- 영국구직
- 영어이메일
- 영국생활
- 영국 워킹홀리데이
- 파이썬
- 영국 워홀
- 영국개발자
- 맨체스터
- 맨체스터생활
- 영국 배우자비자
- 영국이직
- 영국 배우자비자 연장
- 영국워홀
- 해외개발자
- 영국세금
- 맨체스터 일상
- 맨체스터 개발자
- 맨체스터근교
- 맨체스터개발자
- php
- 영국 개발자
- 영국코로나
- 영국워킹홀리데이
- Today
- Total
목록개발/C++ (8)
맨체스터 사는 개발자

오랜만에 써보는 C++ 관련 글 회사 내부에서 사용할 툴 개발을 하게 되었다. C# 을 써볼까 했는데 여러 사정상 C++ 로 개발하게 되었다. C++ 로 GUI 를 사용하려면 보통 Qt나 Embarcadero 를 쓰던가 Visual Studio 에서 Qt 를 Extension 으로 하는 것 같다. 일단 Visual Studio 에서 Qt 를 받아서 써볼까 했지만 상용화할 프로그램을 개발하는 것도 아니고 그냥 회사 내부에서 사용할 툴이니 그렇게 복잡한 GUI 를 사용할 계획은 아니기에 Visual Studio 에서 C++ 를 사용하는 방법을 찾았다. 우선 우리가 일반적으로 생각하는 Visual Basic 이나 C# 처럼 Drag & Drop 으로 디자인 할 수 있는 GUI 는 더 이상 Vis..
https://stackoverflow.com/questions/23165199/converting-a-stdwstring-to-int
https://stackoverflow.com/questions/36812132/splitting-stdwstring-into-stdvector Splitting std::wstring into std::vector This question shows how to split a string into a vector using a single character delimeter. Question: Right way to split an std::string into a vector However, applying this technique to wstring i... stackoverflow.com std::wstring str = L"the;quick;brown;fox", temp; std::vector..
C++ 로 개발하면서 vector 의 중요성은 말할 필요도 없고 iterators 나 modifiers 사용법은 흔하기 때문에 오늘은 vector 의 메모리 사용에 대해서 정리. 벡터는 배열과 마찬가지로 연속적인 저장 위치를 사용하기 때문에 배열처럼 대괄호로 접근할 수 있다. 벡터의 크기가 동적으로 변하기 때문에 가끔 벡터를 linked list 로 생각하는 사람들이 있는데 이는 틀린 것이다. https://stackoverflow.com/questions/4700052/are-vector-a-special-case-of-linked-lists Are vector a special case of linked lists? When talking about the STL, I have several sc..
뭘 쓸까 고민하다가 영국에서 개발자 면접 때 준비했던 객체지향 관련 질문과 답변을 적어볼까 합니다. 객체지향 관련된 내용은 한국어로 해도 어려운데 영어는 더 어려워서 검색을 여러번 한 후에 적당한 답변들을 섞어서 한줄로 만들었습니다. Object Oriented design Object-oriented design is the process of planning a system of interacting objects for the purpose of solving a software problem. Why OOP? 1. reuse, reuse enables faster development 2. easier to maintain 단점은 1. slower processing 4 basics..
https://en.cppreference.com/w/cpp/language/structured_binding Structed Binding 은 C++ 17에서 추가된 기능으로 쉽게 설명하자면 tuple이나 map 같은 자료구조를 auto와 대괄호를 사용해서 쉽게 접근 밑 가독성을 높일 수 있다. 아래 예를 보면 p 를 structed binding을 해서 x_coord, y_coord로 사용하고 있다. Point p = { 1,2 }; // Structure binding auto[ x_coord, y_coord ] = p; cout
한국에서 일 할 떄는 Modern C++ 을 사용하지 않았지만 지금 회사는 Modern C++ 곧 잘 씁니다. 오늘은 noexcept 키워드에 대해서 알게 되었습니다. 함수 뒤에 noexcept 키워드를 붙여주는데, 말 그대로 no except, 예외처리를 할 필요가 없는 함수이므로 throw를 던질 필요가 없다고 못을 박았으니 성능을 향상시킬 수 있습니다. 그래서인지 지금 다니는 회사 코드를 보면 Get 함수같이 단순히 return 해주는 함수에 자주 쓰이고 있습니다. 좀 더 자세한 내용은 아래 블로그를 참조 https://blog.naver.com/sorang226/221815895835
Shared_ptr 및 make_shared 설명 1. shared_ptr이란? - 객체 생성시 메모리를 가르키는 포인터들을 연결 - 기본적으로 포인터를 생성할 시 힙메모리에 할당이 되는데 - 추가적으로 힙메모리에 카운트를 생성하여 여러 포인터들을 손쉽게 관리해주는것 - 포인터가 늘어나면 카운트도 늘어나고 포인터가 줄어들어 카운트가 줄어들면 자동으로 자원할당을 해제해준다. - 참조 카운트 수정작업은 굉장히 안정적으로 스레드에서 작동한다 그렇다면 왜? make_shared를 사용하는가? 1. shared_ptr을 사용하는것은 포인터를 더욱 쉽게 관리하기 위해서이다. 2. shared_ptr은 힙메모리에 포인터주소와 카운트를 기록한다. 3. make_shared는 힙메모리 중에서도 연속된 힙메모리 속에 주소..