Вопрос беспокоил меня с тех пор, как я впервые реализовал класс List, где мне нужен был метод для поиска узлов, данные которых равны входному значению.Если ==, то, очевидно, немедленно вернуться.А иначе?Что он должен делать тогда?
Я думал о создании исключения, но как программа будет себя вести, когда из вызова функции она распознает сбой?
Node* find_node(const T &data) {
if (is_empty())
std::exit(1);
Node *temp = _head;
while (temp != nullptr) {
if (temp->_data == data)
break;
temp = temp->_next;
}
return temp;
}
Ну, вроде какОжидается, что он вернет указатель на узел, если поиск был успешным, поэтому я мог получить доступ к его значению при вызове функции, если это необходимо.