From 892c0539fa22d8e8f0b6e2e452c6d789594edeaa Mon Sep 17 00:00:00 2001 From: NaiJi Date: Tue, 7 Sep 2021 17:38:14 +0300 Subject: [PATCH] 4.3 replace ternary --- 4.3/iterate_max.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/4.3/iterate_max.cpp b/4.3/iterate_max.cpp index feeb2dc..4082fd5 100644 --- a/4.3/iterate_max.cpp +++ b/4.3/iterate_max.cpp @@ -12,11 +12,12 @@ struct Node template T max(const std::unique_ptr>& node, T max_value) { - return (node) - ? max(node->next, (node->value > max_value) - ? node->value - : max_value) - : max_value; + if (!node) + return max_value; + + return max(node->next, (node->value > max_value) + ? node->value + : max_value); } int main() @@ -24,7 +25,7 @@ int main() { using NodeT = Node; - auto head = std::make_unique(NodeT{"5", nullptr}); + auto head = std::make_unique(NodeT{"JKFHDJKSFHaaaaaaaaaaJKSFHKJSDJFSDKH", nullptr}); head->next = std::make_unique(NodeT{"12", nullptr}); head->next->next = std::make_unique(NodeT{"35", nullptr}); head->next->next->next = std::make_unique(NodeT{"JKFHDJKSFHKJSDJFSDKH", nullptr});