
DsQueue::pop 함수는 큐가 비어 있는 경우 예외를 발생시키지 않습니다. 대신, std::out_of_range 예외가 발생하지 않도록 NULL 포인터를 반환하거나, std::optional 형태로 반환할 수 있습니다.
예를 들어, std::optional 형태로 반환하는 경우, 큐가 비어 있는 경우 std::nullopt를 반환하고, 큐가 비어 있지 않은 경우 해당 데이터를 반환합니다.
#hostingforum.kr
cpp
std::optional DsQueue::pop() {
if (isEmpty()) {
return std::nullopt;
}
T data = front();
removeFront();
return data;
}
또는 NULL 포인터를 반환하는 경우, 큐가 비어 있는 경우 NULL을 반환하고, 큐가 비어 있지 않은 경우 해당 데이터를 반환합니다.
#hostingforum.kr
cpp
T* DsQueue::pop() {
if (isEmpty()) {
return NULL;
}
T* data = new T(front());
removeFront();
return data;
}
위의 예제는 큐가 비어 있는 경우 NULL을 반환하거나 std::nullopt를 반환하는 예제입니다. 실제로 사용하는 방법은 개발자의 필요에 따라 달라질 수 있습니다.
2025-06-18 07:39