Calmer的文章

  • 首页
  • 文章归档
  • 关于页面

  • 搜索
体验游戏 笔记 推荐 工具链 工具使用 小游戏 插件 UI 软件 教程

Cpp方法指针与C#函数委托

发表于 2021-06-16 | 分类于 随笔 | 0 | 阅读次数 861

前言

目前在游戏开发中用的比较多的几种语言的方法引用或指针的用法


C++

函数指针(CPP)
区分函数指针与返回值指针

#include <iostream>
using namespace std;

double PrintIt(int);
typedef double (*OneIntFunc)(int);

double PrintIt(int param)
{
    cout << "param:" <<param<<endl;
    return 0.0;
}

void CallPrint(OneIntFunc func)
{
	cout << func(1);
}

void CallPrint2(double (*func)(int))
{
	cout << func(1);
}

int main()
{
    OneIntFunc func = PrintIt;
    CallPrint(func);
}

c#

C#委托

using System;
namespace ConsoleApp1
{
    class Program
    {

        delegate double OneIntFunc(int param);

        double PrintIt(int param)
        {
            Console.WriteLine(param);
            return 0.0f;
        }

        void CallPrint(OneIntFunc func)
        {
            Console.WriteLine(func(1));
        }

        static void Main(string[] args)
        {
            Program p = new Program();
            p.CallPrint(p.PrintIt);
        }
    }
}

Lua

local test = {}

function test:Do1()
	print("Do1")
end

function test.Do2()
	print("Do2")
end

test.Do3 = function()
	print("Do3")
end

local do1 = test.Do1
do1(test)

local do2 = test.Do2
do2()

local do3 = test.Do3
do3()

总结

方法引用是在代码设计中一个重要的组成,是需要熟练掌握的

  • 本文作者: Calmer
  • 本文链接: https://mytechplayer.com/archives/cpp方法指针与c函数委托
  • 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
# 笔记
好用软件收集总结(2024_06_17更新...)
GAMES101(P1-P4)
  • 文章目录
  • 站点概览
Calmer

Calmer

88 日志
7 分类
10 标签
RSS
Creative Commons
0%
© 2020 — 2025 Calmer
由 Halo 强力驱动
蜀ICP备20010026号-1川公网安备51019002006543
Copyright © 2020-2025 Calmer的文章