问题标签 [default-arguments]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
6921 浏览

c++ - c++ 带默认参数的静态成员方法

如果我们对静态成员变量使用默认参数,会有什么陷阱吗?像这样:

编译器从不抱怨,但当它与静态有关时,我总是很谨慎。

0 投票
0 回答
20 浏览

python - Python 允许在不指定基本参数的情况下创建对象

我是 Python OOP 的新手。

考虑下面的代码片段:

我相信, **opts 是创建 class 对象所需的基本参数LinearTopo。但是,Python 允许在LinearTopo没有此参数的情况下创建类对象。有人可以解释一下,这怎么可能?

0 投票
1 回答
139 浏览

c++ - How do default template arguments work?

I know questions about the syntax of template default arguments have been asked alot.

Usually, the answer (in sync with my understanding of how it should work) is to use something like that:

Recently I wanted to check which map implementation Boost uses in its mapped_vector. And found the following snippet:

Apparently, there is no default binding for the argument A, but also apparently, I can instantiate a mapped_vector<int> just fine. Obviosuly a default argument is inferred somehow, but how?

edit: Just to be precise, I am talking about line 279 in this file

0 投票
2 回答
1998 浏览

c++ - 未使用的默认参数会降低性能c ++

假设我声明了一个函数foo(int arg1, int arg2 = 0, int arg3 = 0, int arg4 = 0)。最后三个参数只会偶尔指定(如果有的话),并且大多数情况下,函数将被称为foo(some_int). 我是否会通过将函数声明为 来获得性能foo(int arg1),并在确实需要其他参数时使用不同的解决方案来传递它们?

换句话说,声明但未指定的默认参数是否会使函数调用变慢?

在这种情况下,函数是对象的构造函数,但这是一个普遍的问题。

0 投票
3 回答
228 浏览

php - 如何在 PHP 中使用 If 语句组合两个参数

我真的需要你的帮助。我想知道如何在一个 if 语句中使用两个大于(>)和小于(<)的参数。我试图在下面的代码中执行此操作,但我不断在“else”语句中收到错误消息。

任何帮助将不胜感激,谢谢。

0 投票
3 回答
32 浏览

php - 非常规传递参数的奇怪行为

在我的代码中调用函数时,我不小心复制了函数头,由于某种原因,代码仍然有效。为什么是这样?

显然,它应该这样写:

但我可以在调试中看到最后一个参数确实是'results'. 纯变量赋值不应该被评估为true

$handle_key默认情况下null在函数头中。

0 投票
1 回答
4459 浏览

scala - 使用默认参数验证模拟对象方法调用

假设我有这个类:

我想检查其他一些类在没有传递第二个参数的情况下调用实例doSomething()上的方法:Defaults

但是,模拟Defaults类无法正常工作。因为方法参数的默认值被编译为同一类中的隐藏方法,所以mock[Defaults]返回一个对象,其中这些隐藏方法返回null而不是None,因此此测试失败:

错误:

原因很清楚,但有没有合理的解决方法?我看到的唯一一个是使用spy()而不是mock(),但我的模拟类包含很多方法,在这种情况下我将不得不显式模拟,我不想要它。

0 投票
1 回答
32 浏览

python - 具有相同默认参数的 Python 方法中的变量范围?

经过一番搜索后,我找不到任何涵盖此内容的示例。但我可能没有使用正确的术语,因为我对这种情况感到困惑,甚至问这是否有意义?所以我觉得这可能是重复的。

但是,如果您有一个 Python 类,其中有两个方法具有同名的参数,那么它的行为是什么?

0 投票
2 回答
2632 浏览

c++ - 对默认参数使用右值引用

我想创建一个对对象进行可选引用的函数,如果没有提供,则在函数的持续时间内创建一个函数,即

当然,这是无效的代码,因为 aBar不能Bar在此上下文中隐式转换为引用。引用不能是const,因为b在函数内部发生了变异。

您可以通过使用右值引用来解决这个问题,即

这是对右值引用的有效使用吗?调用者现在必须调用std::move他们的Bar参数,即使我无意清除已传递的Bar,就像您传递右值时通常的情况一样。

0 投票
4 回答
165 浏览

c++ - 在 C++ 中,如何传递一些参数而将其他参数保留为默认值?

我确定这已经在这里得到了回答,但是搜索不断返回 PHP、C# 和 Java。我特别问的是C++。

如果我有一个接受五个参数的函数并且它们都有默认值,但我想显式调用它并为第三个参数提供一个值,那么我应该为第一个和第二个参数传递什么?(我知道func(,,"Third")不起作用,也没有func(thirdArg:"Third")