pass by name的意思|示意
[计] 按名传送,传名
pass by name的用法详解
英语单词 \"pass by name\" 在编程中有着特定的用法,通常用于函数参数的传递。在下面的文章中,我们将详细讲解 \"pass by name\" 的具体用法及其与 \"pass by value\" 和 \"pass by reference\" 的区别。
\"Pass by name\" 是一种变量传递方式,与 \"pass by value\" 和 \"pass by reference\" 不同。在 \"pass by value\" 中,会将变量的值复制到函数的参数中,因此在函数内部对参数的修改不会影响到原变量的值。而在 \"pass by reference\" 中,函数的参数其实是原变量的地址,在函数内部对参数的修改会直接作用于原变量。
相比之下,\"pass by name\" 更加灵活,它传递的是变量的名字(或者说是字符串),程序在运行时会动态地将变量名替换成对应的值。这种传递方式可以解决一些传值或传引用所遇到的问题。
举个例子,假设有如下一段代码:
```
int a = 5;
void fun(int x) {
x = x + 1;
printf(\"%d\", x);
}
fun(a);
```
在这个例子中,我们调用函数 fun,并传递变量 a 作为参数。由于采用的是传值方式,因此函数中对参数 x 的修改不会影响到变量 a 的值,因此最终输出的结果为 6。
如果我们采用 \"pass by name\" 的方式,代码将如下所示:
```
int a = 5;
void fun(thunk x) {
x.expr = x.expr + 1;
printf(\"%d\", x.expr);
}
fun(a);
```
这里,我们定义了一个 thunk 对象来传递变量 a 的名字,函数中的操作也发生了一些变化。由于采用的是 \"pass by name\",程序在运行时会将变量名 a 替换成对应的值,因此最终的输出结果仍然是 6。
通过上述例子,我们可以看到 \"pass by name\" 和传值、传引用有着不同的方式和效果。掌握这些不同的传递方式可以让我们在编写代码时更加灵活。
pass by name相关短语
1、 Pass-By-Name 求值策略
2、 pass by the name of 以…的名字出现
pass by name相关例句
Milgram sent letters to a random selection of people in American cities, telling them that they were to pass the note to a certain stockbroker living in Boston if they knew him by name.
米尔格拉姆向随机选中的美国城市居民发送信件,告诉他们如果他们知道住在波士顿的某个股票经理人的话,就把信发给他。
By executing the above code I have gleaned the port name and service name that I need to pass to Axis.
通过执行上面的代码,我收集到了需要传送给Axis的端口名称和服务名称。
The woman, identified only by her family name Cha, has repeatedly scored between 30 and 50 marks, below the pass mark of 60 out of 100.
这位被确认姓车的女性,多次在考试中得到30至50的分数,低于满分100的60分及格线。