gpt4 book ai didi

c# - c#中的委托(delegate)和c++中的函数指针有什么区别?

转载 作者:IT老高 更新时间:2023-10-28 21:39:48 25 4
gpt4 key购买 nike

Possible Duplicate:
are there function pointers in c#?

我有兴趣找出 delegate 之间的区别在 C# 和 function pointer 中在 C++ 中。

最佳答案

C# 中的委托(delegate)是具有内置迭代器的类型安全函数指针。

保证指向具有指定签名的有效函数(与 C 中的指针可以强制转换为指向谁知道什么不同)。它还支持迭代多个绑定(bind)函数的概念。

在 C# 中,委托(delegate)是多播,这意味着它们可以迭代多个函数。例如:

class Program
{
delegate void Foo();

static void Main(string[] args)
{
Foo myDelegate = One;
myDelegate += Two;

myDelegate(); // Will call One then Two
}

static void One()
{
Console.WriteLine("In one..");
}

static void Two()
{
Console.WriteLine("In two..");
}
}

关于c# - c#中的委托(delegate)和c++中的函数指针有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8097244/

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