optional-parameters相关内容

使用默认参数复制构造函数

据我所知,复制构造函数的格式必须为T(const T&)或T(T&).如果我想向签名添加默认参数怎么办? T(const T&, double f = 1.0); 是否符合标准? 解决方案 是. § [class.copy]/2: 类X的非模板构造函数是 copy 构造函数,如果它的第一个参数的类型为X&,const X&,volatile X&或const vola ..
发布时间:2020-05-21 21:57:16 C/C++开发

使用枚举作为可选参数

我正在处理的应用程序中有几种方法,这些方法中装有可选参数,其中一些是枚举.目前,为此,我正在编写具有类似签名类型的方法: public void SomeMethod(string myFirstParam = "", string mySecondParam = "", MyEnum myThirdParam = (MyEnum )(-1)){ if (myThirdParam ..
发布时间:2020-05-21 21:57:13 C#/.NET

为什么空字典在Python中是危险的默认值?

我将dict作为Python函数的可选参数的默认值,而pylint(使用Sublime包)告诉我这很危险.有人可以解释为什么会这样吗?并且是使用None替代的更好的选择吗? 解决方案 仅当您的函数将修改参数时,这才是危险的.如果您修改默认参数,它将保留到下一次调用,因此您的“空"字典将开始包含除第一个调用以外的其他调用的值. 是的,在这种情况下,使用None是安全和常规的. ..
发布时间:2020-05-21 21:57:09 Python

方法参数数组默认值

在c#中,可以在方法中使用默认参数值,例如: public void SomeMethod(String someString = "string value") { Debug.WriteLine(someString); } 但是现在我想使用数组作为方法中的参数,并为其设置默认值. 我以为它应该看起来像这样: public void SomeMethod(String ..
发布时间:2020-05-21 21:57:04 C#/.NET

F#:为什么我不能在松散函数中使用可选参数?

为什么我不能在用"let"定义的松散函数中使用可选参数? 为什么仅在成员函数中允许使用它们? 解决方案 我怀疑提供它们只是为了与.NET函数兼容.它们不是您在功能语言中遇到的东西.可选参数的问题是您不能使用它.如果函数f的第二个参数是可选的,什么是 让g = f x ? 是接受一个参数的函数,还是通过对x求f加上默认的第二个参数获得的值? ..
发布时间:2020-05-21 21:57:01 其他开发

构造函数使用可选参数来做奇怪的事情

可能重复: Python中的最小惊讶:可变的默认参数 我想了解python __init__构造函数的行为和含义.似乎有一个可选参数,当您尝试将现有对象设置为新对象时,现有对象的可选值将被保留并复制. 看一个例子: 在下面的代码中,我试图创建一个带有节点和可能有许多子代的树形结构.在第一个类NodeBad中,构造函数具有两个参数:值和任何可能的子代.第二类NodeGood仅将节 ..
发布时间:2020-05-21 21:56:56 Python

为什么不能将默认值作为null以外的可选参数提供?

我想要一个可选参数并将其设置为我确定的默认值, private void Process(Foo f = new Foo()) { } 我遇到以下错误(Foo是一个类): 'f'是Foo的类型,除字符串以外的引用类型的默认参数只能用null初始化. 如果将Foo更改为struct,则它可以工作,但仅使用默认的 parameterless 构造函数. 我阅读了文档,并且 ..
发布时间:2020-05-21 21:56:48 C#/.NET

可选模板参数

例如在C ++中是否可以有可选的模板参数 template class Test { }; 我希望用户在V或没有V 的情况下使用此类 正在关注 Test WithAllParameter Test WithOneMissing 如果是,该怎么做. 解决方案 您可以具 ..
发布时间:2020-05-21 21:56:43 C/C++开发

Let/Get属性中的可选参数如何工作?

我正在将vba与Excel 2007一起使用,并正在为类模块编写代码. 1)以下代码是否可能?... 本质上,我有两个枚举,分别称为eDATASET和eDATATSUBSET. eDATASET中的特定值应触发Let属性中可选传递的参数的赋值.像这样: Public Property Let foo(Optional ByVal lngSubSet as eDATASUBSET, _ ..
发布时间:2020-05-21 21:56:37 其他开发

Ruby可选参数

如果我定义这样的Ruby函数: def ldap_get ( base_dn, filter, scope=LDAP::LDAP_SCOPE_SUBTREE, attrs=nil ) 我怎么称呼它仅提供前两个和最后一个参数?为什么不是这样的 ldap_get( base_dn, filter, , X) 可能,或者如果可能,怎么办? 解决方案 当前红宝石无法实现.您不能 ..
发布时间:2020-05-21 21:56:30 其他开发

SQL Server存储过程参数

我正在开发一个框架,其中是一个带有动态创建参数的调用存储过程.我在运行时建立参数集合. 当我向存储过程传递参数但存储过程不接受该参数时,会发生问题. 例如,我的存储过程是: CREATE PROCEDURE GetTaskEvents @TaskName varchar(50) AS BEGIN -- SP Logic END 调用存储过程为: EXEC Get ..

如何检查是否设置了可选功能参数

Python中是否有一种简便的方法来检查可选参数的值是否来自其默认值,或者是因为用户已在函数调用中明确设置了可选参数? 解决方案 很多答案都没有完整的信息,因此,我想将它们与我最喜欢的模式结合在一起. 默认值为mutable类型 如果默认值是可变对象,那么您很幸运:您可以利用以下事实:在定义函数时,Python的默认参数将被评估一次(在上一节的答案末尾对此有更多了解) 这 ..
发布时间:2020-05-21 21:56:21 Python

SQL Server存储过程中的可选参数?

我正在SQL Server 2008中编写一些存储的proc,并且想知道是否可以在此处使用可选输入参数的概念? 我想我总是可以为不想使用的参数传递NULL,检查存储的proc中的值,然后从那里获取内容,但是我很想知道这里是否有这个概念.谢谢! 解决方案 您可以这样声明 CREATE PROCEDURE MyProcName @Parameter1 INT = 1, ..

如何快速进行可选的关闭?

我正在尝试在Swift中声明一个参数,该参数需要一个可选的闭包.我声明的函数看起来像这样: class Promise { func then(onFulfilled: ()->(), onReject: ()->()?){ if let callableRjector = onReject { // do stuff! } } } 但 ..
发布时间:2020-05-21 21:56:12 移动开发

如何处理null或可选的DLL结构参数

如何在使用pinvoke从C#调用的dll方法中处理可选的struct参数?例如, lpSecurityAttributes参数在此不存在时应通过null. 传递struct的正确方法似乎是使用ref,但它不能具有可选参数,也不能一般采用null. 有什么方法可以实现这一目标? 解决方案 您有几个选择 1)使用class代替struct 我认为这种方法是最简单的.只 ..
发布时间:2020-05-21 21:56:08 C#/.NET