Computer Science/C++3 우선순위 큐(priority_queue) 잘 써보기 PS와 우선순위 큐 알고리즘 문제를 풀다보면 끊임없이 만나는 자료구조가 있다. 바로 우선순위 큐이다. C++에서 priority_queue를 사용하다보면 강력함도 느끼고, 동시에 한계도 많이 느낀다. 오늘은 이에 대해 다루어보려고 한다. 우선순위 큐의 활용 LeetCode - Find Median from Data Stream Find Median from Data Stream - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 위 문제를 한번 풀어보겠다. 문제조.. 2021. 11. 19. C++ 키워드 정리 • volatile volatile 키워드는 컴퍼일러의 최적화를 제한하는 역할을 한다. volatile(휘발성)이라는 뜻 그대로 언제든지 그 값이 변할 수 있음을 명시하는 키워드이다. volatile로 지정된 변수는 최적화를 수행하지 않게 된다. 주로 메모리 맵 입출력(MMIO)를 제어할 때, volatile을 사용하여 컴파일러 최적화를 제한한다. 최적화 이전 최적화 이후: 0 != 255는 블록 내에서 true이므로 최적화되어 무한 루프에 빠진다. volatile 사용: 변수 foo에 volatile 키워드를 지정하여, 최적화를 막을 수 있다. • restrict restrict 포인터는 메모리 접근에 관련된 최적화 기능이다(C99 표준). restrict 포인터는 컴파일러에게 최적화를 하라고 알려준다.. 2020. 9. 5. C++ 코딩 스타일 개발시 프로그램 성능이나 개발시간 뿐 아니라 코드를 일관된 스타일로 잘 작성하는 것도 매우 중요하다. 본 포스팅에서는 C++ 코딩 스타일에 대해 다룬다. • Part 1: Style 스타일 가이드라인은 생각보다 엄격하지 않다. 중요한 것은 적절한 공백과 일관된 스타일을 유지하여 이해하기 쉬운 코드를 짜는 것이다. 명시적이고 일관적인 네이밍 1. CamelCase 2. snake_case 이 둘은 가장 일반적으로 많이 사용되는 네이밍 스타일이다. 네이밍 스타일 뿐만 아니라 선택 단어 역시도, 선언되는 변수/함수의 기능을 명확하게 잘 드러낼 수 있도록 하자. 일반적인 C++ 네이밍 컨벤션 1. 타입의 첫 글자는 대문자로 한다 : MyClass 2. 함수와 변수의 첫 글자는 소문자로 한다 : myMethod .. 2020. 9. 5. 이전 1 다음