C,C++/C++51 클래스에서 가변 인자 템플릿 이용 시 함수 선언 방법 다음과 같이 클래스 템플릿에서 특정 함수의 인자로 타입마다 다른 인자를 받고 싶을 때 함수를 다음과 같은 규격으로 작성해야 한다. template class A { public: template T* Get(Type... _Args); }; template template T* A::Get(Type... _Args) { return new T(_Args...); } int main() { A a; A b; Vector2* pVec2 = a.Get(3, 4); cout X 2020. 12. 2. Heap 메모리 장단점(Windows) 내가 퍼온 출처 : egloos.zum.com/dstein/v/1785346 출처 : http://msdn.microsoft.com/library/kor/default.asp?url=/library/KOR/dntaloc/html/heap3.asp Murali R. Krishnan Microsoft Corporation 1999년 2월 소개 동적으로 할당되는 C/C++ 개체를 효율적으로 사용하고 계십니까? 모듈 간의 원활한 통신을 위해 자동화를 광범위하게 사용하고 계십니까? 혹시 힙 할당으로 프로그램 속도가 느려질 가능성은 없습니까? 이것은 혼자만의 문제가 아닙니다. 조만간 거의 모든 프로젝트가 이러한 힙 문제에 직면하게 될 것입니다. 사람들은 대개 "힙이 느릴 뿐이지 내 코드에는 전혀 문제가 없습니다.".. 2020. 9. 29. [C++] std::priority_queue 구조 알아 보기 | 우선순위 큐, 최대힙, 최소힙 개인적으로 공부하는 내용이므로 틀린 부분이 있을 수 있습니다. 있다면 알려주세요 :) [std::priority_queue 란?] std::priority_queue는 C++의 컨테이너 어댑터(container adapter) 중 하나이다. 컨테이너 어댑터란 vector와 같은 컨테이너의 일부 기능을 제한하여 만든 컨테이너를 말한다. 대표적으로 stack, queue, priority_queue가 있다. 컨테이너 어댑터의 특징으론 반복자를 지원하지 않는다. 따라서 범위 기반 for문에도 사용할 수 없다. std::priority_queue는 우선순위 큐라고도 불리는데, 내부적으로 힙(Heap)과 비슷하게 동작한다. 따라서 최대힙 또는 최소힙이 필요할 때 해당 컨테이너를 사용할 수 있다. std::prio.. 2020. 9. 27. [C++] bool 타입 변수 true/false 형식으로 출력하기 C++에서 bool 타입의 변수를 출력할 때 1/0 형식이 아닌 true/false 형식으로 출력하고 싶을 경우가 있다. 이럴 땐 의 std::boolalpha를 사용하면 된다. boolalpha는 조정자와 비슷하게 스트림에 저장이 되므로 변경하지 않는 이상 계속 유지된다. 예시) #include using namespace std; void main() { bool arr[5] = {1, 0, true, false, 1}; // cout이 bool타입의 값을 출력할 때 알파벳 형식인 true/false로 출력하도록 설정 cout 2020. 9. 13. [C++] VS2019 16.7 Ver. 안전성을 위한 새로운 코딩 규칙을 알아보자 devblogs.microsoft.com/cppblog/new-safety-rules-in-c-core-check/ New safety rules in C++ Core Check | C++ Team Blog Rust and C++ are two popular systems programming languages. For years, the focus of C++ has been on performance. We are increasingly hearing calls from customers and security researchers that C++ should have stronger safety guarantees in the language. C devblogs.microsoft.com Visua.. 2020. 9. 11. [C++] std::vector 컨테이너의 반복자를 통해 포인터(주소) 얻기 vector 컨테이너의 반복자를 통해 해당 반복자가 가리키는 요소의 주소를 얻을 수 있다. 우선 벡터는 연속적인 배열이기 때문에 다음과 같이 첫 번째 원소의 주소를 통해 배열의 시작 주소를 구할 수 있다. 그리고 포인터의 특성을 이용해 모든 요소에 접근할 수 있다. void main() { vector v1 {1, 2, 3, 4, 5}; int* beginAddrOfV1 = &v1[0]; for(size_t i = 0; i < v1.size(); ++i) { cout 2020. 8. 29. 이전 1 2 3 4 5 ··· 9 다음