我想知道-为什么const (...)&在C ++中引入一个好主意?我在一些课程教程中找到了此代码。我了解到,const在将某些东西&传递给函数的同时,它使它们保持不变,并且无法更改。为什么两者都做?如果我无法更改某些内容,为什么还要将其传递给函数?
这是一个例子:
class CVector {
public:
int x,y;
CVector () {};
CVector (int a,int b) : x(a), y(b) {}
CVector operator + (const CVector&);
};
CVector CVector::operator+ (const CVector& param) { //example
CVector temp;
temp.x = x + param.x;
temp.y = y + param.y;
return temp;
}
Run Code Online (Sandbox Code Playgroud) 我已经检查了这篇文章和这篇文章,但找不到解决我的代码问题的好方法。
我有一个代码如下:
class foo:
def __init__(self, foo_list, str1, str2):
self.foo_list = foo_list
self.str1 = str1
self.str2 = str2
def fun(self, l=None, s1=None, s2=None):
if l is None:
l = self.foo_list
if s1 is None:
s1 = self.str1
if s2 is None:
s2 = self.str2
result_list = [pow(i, 2) for i in l]
return result_list, s1[-1], len(s2)
Run Code Online (Sandbox Code Playgroud)
然后我创建“f”并调用“fun”函数:
f = foo([1, 2, 3, 4], "March", "June")
print(f.fun())
Run Code Online (Sandbox Code Playgroud)
输出是:
([1, 4, 9, 16], 'h', 4)
Run Code Online (Sandbox Code Playgroud)
这是正确的,但如果我这样做:
print(f.fun("April"))
Run Code Online (Sandbox Code Playgroud)
我收到以下错误: …
我有一个Dictionary<string, string>方法参数,我想知道是否有办法让它默认为空字典而不是null.我更喜欢总是有一个空的列表/字典/ IEnumerable而不是null.我尝试将参数设置为:
Dictionary<string, string> dictionary = default(Dictionary<string,string>);
Run Code Online (Sandbox Code Playgroud)
但评估结果是null.
有没有办法让默认的Dictionary变空?
因此,我对Python还是很陌生,对于使用参数还是参数还是很困惑。例如,我将如何编写一个接受字符串作为参数的函数?
我试图学习JavaScript中的条件语句,当我调用函数时仍然不传递任何参数时,我得到x等于y。我不明白我在哪里缺少代码。
function tryMe(x, y) {
if (x == y) {
console.log("x and y are equal");
} else if (x > y) {
console.log("x is greater than y");
} else if (x < y) {
console.log("x is less than y")
} else {
console.log("no values")
}
}
tryMe();Run Code Online (Sandbox Code Playgroud)
这是我的控制台日志:
x和y等于// //我期望它为console.log(“ no values”)
我想这个命名可能有历史原因,其他语言也有相似的功能,但在我看来参数总是在C#中有一个名字.争论是未命名的.或者是否有一个特殊原因选择这个术语?
在我尝试回答这个问题之前,我一直假设参数是按照我们输入它们的方式从左到右计算的。例如我们有一些方法:
def foo(a,b,c)
Run Code Online (Sandbox Code Playgroud)
有没有办法随着时间的推移监视 Ruby 程序中的变量定义和值?如果调用foo 0,1,2如何证明变量按以下顺序赋值?
时间 0: a = 0
时间一: b = 1
时间2: c = 2
我意识到我的例子是微不足道的,因为我有相同类型的参数,a, b, c但是当你引入默认参数、关键字参数和数组参数时,它可能会变得混乱。如果没有人知道答案,我将不胜感激有关如何确定答案的建议。
基本上相当于this的 Ruby 。
作为Java新手,我理解传递给方法的值称为参数,接收方法定义中的值的变量称为参数.
现在,我在哪里看到用main方法编写的Java类,方法签名说
public static void main(String args []){}
例如.http://download.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html
虽然我可以提供任何变量名称,但如果他们给了params []而不是args [] ,这不是正当的吗?
任何理论?
我是python编程的初学者,最近我遇到了函数,参数,参数和...
我已经对参数和参数进行了大量研究(甚至在StackOverflow上检查过类似问题的答案),但我无法理解它们的含义.
有人说,参数是我们在定义它们时将它们赋给函数的变量,而参数是在我们将它们赋予函数以便运行函数时在函数中传递的值.而其他一些说不,它不是那样的.Parameters和Arguments是相同的,并执行相同的任务...
任何人都可以清楚地告诉我参数和参数的含义吗?
参数和参数是否被视为变量?
我们使用它们的目的是什么?
请不要解释太复杂,我是初学者.
非常感谢.
我对如何识别递归函数中的形式和实际参数感到困惑.例如,在这段代码中获取数字的阶乘:
def factorial(n):
if n == 1:
return 1
else:
return n * factorial(n-1)
Run Code Online (Sandbox Code Playgroud)
"factorial(n-1)"是形式参数,因为它在函数内部吗?或者它是实际参数,因为它为函数分配了一个值.另外,"factorial(n)"也是形式参数吗?
python ×4
arguments ×3
parameters ×3
function ×2
branch ×1
c# ×1
c#-4.0 ×1
c++ ×1
class ×1
default ×1
dictionary ×1
iteration ×1
java ×1
javascript ×1
python-3.x ×1
recursion ×1
ruby ×1
string ×1
terminology ×1