Notice
Recent Posts
Recent Comments
목록STL (2)
NeuroWhAI의 잡블로그
[C++] get/return_temporary_buffer, uninitialized_*에 대하여
memory 헤더에 있는 이 함수들은 초기화 되지 않은 메모리에 관한 기능이 있습니다.초기화 되지 않았다는 것은 생성자가 호출되지 않았다는 것이죠.get_temporary_buffer는 메모리를 할당하며return_temporary_buffer는 메모리를 해제합니다.uninitialized_*는 초기화되지 않은 메모리에 대해 생성자를 호출하며 특정 알고리즘을 수행합니다. 예시를 봅시다. (C++17 이상에서만 컴파일 됨) #include #include #include class Foo { public: explicit Foo(int data) : data(data) { std::cout
개발 및 공부/언어
2018. 11. 14. 21:23
[C++] STL nth_element 알고리즘 설명 및 예시
std::nth_element는 부분 정렬 알고리즘입니다.구체적인 동작은 이름에서 알 수 있듯이 n번째 요소를 얻을 수 있게 해주는 녀석인데요.무슨 기준으로 n번째냐고 하면 정렬되었을 때를 말합니다.v = [1 3 2 4]이고 n을 0부터라고 하였을 때 n=2라고 하면 알고리즘 수행 후 v[2]는 3이 됩니다.또한 v[:2]은 v[2]보다 작거나 같은 수만 있게 되며 당연히 v[3:]은 v[2]보다 작거나 큰 수만 있게 됩니다.(cppreference의 설명으로 하자면 v[:2]는 v[3:]의 수 보다 작거나 같다입니다.)비교 함수를 바꿔 주면 다르게 정렬된 상태에서의 n번째 요소를 얻을 수 있습니다. 대략적인 형태는 template void nth_element( Ran..
개발 및 공부/언어
2018. 11. 1. 20:42