当前位置: 首页 > news >正文

UE5 C+、C++、C# 构造方法区别示例

我们对比一下UE C++、C++ 、C#的构造方法:

1. UE4 C++例子:

// 声明和构造合并在一起static ConstructorHelpers::FObjectFinder<UTexture2D> CrosshairTexObj(TEXT("/Game/Path"));// 使用加载的资源UTexture2D* Texture = CrosshairTexObj.Object;

2.C#等效写法:

// 构造函数声明public class TextureFinder<T>{public T Object { get; private set; }public TextureFinder(string path){// 加载逻辑Object = LoadAsset<T>(path);}}// 使用方式static TextureFinder<Texture2D> crosshairTexObj = new TextureFinder<Texture2D>("/Game/Path");Texture2D texture = crosshairTexObj.Object;

3. 基本构造函数对比:

// C++class MyClass {
public:                        // 公共访问修饰符MyClass() {}              // 默认构造函数,无参数MyClass(int x) : value(x) {} // 带参数构造函数,使用初始化列表
private:                      // 私有访问修饰符int value;               // 私有成员变量
};// 使用MyClass obj1;           // 调用默认构造函数MyClass obj2(10);      // 调用带参数构造函数

// C#

public class MyClass 
{private int value;public MyClass() {} // 默认构造函数public MyClass(int x) // 带参数构造函数{ value = x;}
}// 使用MyClass obj1 = new MyClass();    // 调用默认构造函数MyClass obj2 = new MyClass(10);  // 调用带参数构造函数

C++的构造方法解析: 

MyClass(int x) : value(x) {}|      |    |    ||      |    |    └─ 参数x的值|      |    └─ 将要初始化的成员变量|      └─ 构造函数参数└─ 构造函数名(与类名相同)

主要区别:

  • C++不需要new关键字创建对象
  • C++构造函数可以使用初始化列表(:value(x))
  • C#必须使用new创建对象
  • C++中可以在声明时直接调用构造函数
  • C#中通常需要分开声明和构造
http://www.lryc.cn/news/505062.html

相关文章:

  • leetcode-146.LRU缓存(易理解)
  • JavaSe部分总结
  • iPhone批量删除照片的方法
  • 红日靶场vulnstack 7靶机的测试报告[细节](一)
  • ubuntu+ros新手笔记(二):古月·ROS2入门21讲学习笔记
  • Harmonyos之深浅模式适配
  • 牛客网 SQL2查询多列
  • Angular由一个bug说起之十二:网页页面持续占用CPU过高
  • 【从零开始入门unity游戏开发之——C#篇05】转义字符、@处理多行文本或者不使用转义字符、随机数
  • 我们来对接蓝凌OA --报文格式
  • 旅游系统旅游小程序PHP+Uniapp
  • Pytest-Bdd-Playwright 系列教程(15):背景(Background)
  • ionic V6 安装ios所需
  • 3d模型展示-初探
  • OpenLinkSaas 2025年1月开发计划
  • C# 用封装dll 调用c++ dll 使用winapi
  • XML基础学习
  • Jmeter直连数据库,jar包下载
  • Unity读取、新建Excel表格
  • 智能高效的IDE GoLand v2024.3全新发布——支持最新Go语言
  • OpenCV相机标定与3D重建(21)投影矩阵分解函数decomposeProjectionMatrix()的使用
  • Flink State面试题和参考答案-(下)
  • 111.【C语言】数据结构之二叉树的销毁函数
  • [论文阅读] |智能体长期记忆与反思
  • 【Trouble Shooting】Oracle ADG hung,出现ORA-04021
  • 基于springboot的招聘系统
  • 国科大智能设备安全-APK逆向分析实验
  • 使用SpaceDesk实现iPad成为电脑拓展屏(保姆级教程)
  • Unity UI Button 事件优先级调整技术方案
  • 算法训练营day1 | 704二分查找,27移除元素, 34, 35