gpt4 book ai didi

c++ - 默认参数或函数重载

转载 作者:行者123 更新时间:2023-11-28 07:09:39 24 4
gpt4 key购买 nike

<分区>

我有一个带有一个参数的函数 pop,它将元素从堆栈中弹出。我希望能够使用 pop(),它将从顶部删除一个元素;和 pop(any_number),它将从顶部弹出多个元素。一件事让我对一个微不足道的实现细节感到好奇。

函数重载:

void pop() {
if(!stack.empty())
stack.pop();
}

void pop(int n) {
for(int i = 0; i < n; ++i)
pop();
}

函数默认参数:

void pop(int n = 1) {
for(int i = 0; i < n; ++i)
if(!stack.empty())
stack.pop();
}

除了后一个代码更简单之外,还有什么区别吗?使用第一个或第二个有优势吗?

编辑:通过将 for 循环替换为具有 pop 函数的作用域,将第一个代码片段更改为在设计方面更具可重用性。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com