반응형 전체 글676 비쥬얼 스튜디오 기능 톺아보기 - 필터 모드와 폴더 모드 갑자기 사라진 필터(filter), 그리고 모두 보이게 된 파일들최근에 프로젝트를 진행하는 도중에 모든 파일들이 갑자기 출력되는 일이 있었다. 당연히 나는 필터가 깨져서 모든 파일들이 출력되는 거라고 생각해서 누군가 filters 파일을 잘못 올린 게 아닌가 하고 찾아봤는데 내용에는 이상이 없었다. > 한참을 찾아보니 문제는 오히려 프로젝트 설정이었다. 그동안 내가 명확하게 알지 못했던 필터 모드와 폴더 모드비주얼 스튜디오에는 필터 모드와 폴더 모드가 존재한다.필터 모드 - 논리적인 구분만으로 파일들을 분류한다. 필터를 생성해도 실제로 폴더는 생성되지 않는다.폴터 모드 - 실제 폴더를 생성하고 폴더 구조를 통해서 파일들을 분류한다. 실제로 폴더를 생성한다.비주얼 스튜디오 필터 모드와 폴더 모드 설정하기필.. 2025. 11. 30. C++ std::vector 사용시 push_back()과 emplace_back() 차이에 대해서 push_back() 이미 만들어진 객체를 복사 또는 이동해서 추가push_back은 이미 생성된 객체를 추가할 때 사용한다.내부적으로 복사 생성자 혹은 이동 생성자가 호출된다.std::vector v;std::string s = "Hello";v.push_back(s); // 복사 발생v.push_back(std::move(s)); // 이동 발생 (C++11 이상)v.push_back("World"); // 임시 객체 생성 후 이동emplace_back() 그 자리에서 바로 생성(in-place construction)전달된 인자를 사용해 생성자에서 바로 객체 생성, 새로 만드는 객체를 추가할 때 사용한다.별도의 임시 객체를 만들지 않아서 불필요한 복사나 이동이 없음성능적으로 더 효율적.. 2025. 10. 7. C++ std::map, std::unordered_map 사용시 erase 단순화하기 원래 작성했던 코드최근에 회사에서 팀원분에게 코드 리뷰를 받은 사항에 대해서 정리하려고 한다. 아래의 코드는 내가 원래에 작성하던 스타일의 코드이다. 컨테이너에서 find를 하고 값이 있으면 제거한다.const auto& iter = m_deactivatedTids.find(tid);if (iter != m_deactivatedTids.end()){ m_deactivatedTids.erase(iter);}단순화한 코드하지만 팀원분이 제안한 코드는 아래와 같다. erase(key)를 사용할 때는 find가 필요 없다는 것이다.m_deactivatedTids.erase(tid);erase() 메서드의 동작std::map이나 std::unordered_map에서 erase(key)는 내부적으로 find(.. 2025. 9. 22. 애굽민수와 함께하는 파라오의 이집트, 빛으로 깨어난 고대 문명 후기 처음으로 방문해 본 빛의 시어터국내 거의 유일의 이집트학 전공자인 곽민수 소장님이 스페셜 도슨트를 진행한다는 이야기를 지인에게 듣고서는 어디에서 하고 어떤 전시인지 생각하지 않고 바로 예매를 진행했다. 사실 그 정도로 이집트를 좋아하거나 관심이 있는 건 아니지만, 곽민수 소장님을 한번 지근거리에서 보고 싶은 마음이 컸다. 침착맨 채널이나 안될과학에서 몇 번 이집트 관련 영상에서 봤는데, 수염과 푸근한 이미지 그리고 이집트 전문지식이 어우러져 멋진 사람이라고 생각했기 때문이다.그렇게 전시회 당일이 되었고 해당 이집트 전시회가 서울 그랜드워커힐 지하에 있는 빛의 시어터에서 열린다는 것을 알았다. 빛의 시어터는 광진구에 위치한 그랜드워커힐호텔 지하에 위치한 몰입형 미디어아트 전시관이다. 빛의 시어터버지니 마르.. 2025. 8. 9. C++ unordered_map이란? unordered_map이란?기존에 익숙한 map과 비슷하지만 정렬되지 않은 해시 기반 컨테이너(이름에서부터 정렬되지 않음을 들어냄)Key-Value 쌍으로 데이터를 저장Key를 기준으로 해시(hash)를 이용해 빠르게 탐색, 삽입, 삭제가 가능내부적으로 해시 테이블(Hash Table)을 사용원소의 순서를 보장하지 않음. (반복자로 순회 시 삽입 순서로 정렬되어 있지 않음)평균 시간 복잡도탐색(find) : O(1)삽입(insert) : O(1)삭제(delete) : O(1)기본 사용 예제#include #include using namespace std;int main(){ unordered_map unMap; unMap.emplace(1, "jane"); unMap.emplace(2.. 2025. 7. 6. 비주얼 스튜디오 2022(Visual Studio 2022)에서 C++ 언어 표준 변경하기 C++ 언어 표준 변경하고 모던 C++을 사용해 보자비주얼 스튜디오에서 모던 C++을 사용하려고 예제를 작성했는데 이럴 수가 컴파일 에러가 발생했다.이유는 바로 C++ 17에서 추가된 구조적 바인딩을 사용했기 때문이다. 이를 해결하기 위해서는 프로젝트 속성에서 C++ 17 표준 이상으로 올려줘야 한다. 수정해 보자.#include int main(){ std::cout myPair = { 1, 2 }; auto [a, b] = myPair; // error}C++ 언어 표준 변경하기프로젝트 선택 후 - 마우스 오른쪽 클릭 - 속성(R) 클릭구성 속성 > C/C++ > 언어 > C++ 언어 표준 > 해당하는 C++ 표준을 선택(기본값은 C++ 14)C++ 17로 변경했더니 바로 빨간 줄이 사라.. 2025. 7. 1. 이전 1 2 3 4 ··· 113 다음