1.虚幻中的类前缀你会见到U,A,F,以下就是很好的罗列其中的意义

  •  U: UObject继承过来的,例如UTexture
  • A: AActor继承过来的,例如AGameMode
  • F: 其他的类和结构,例如FName, FVector
  • T:模板,例如TArray,TMap,TQueue
  • I: 接口类,ITransaction
  • E:枚举, ESelectionMode
  •  B: Boolean, bEnabled

  2.区分大小写!

  用宏定义来包裹C++代码

  UCLASS 来包裹类

  USTRUCT 包裹结构

  UFUNCTION 包裹功能

  UPROPERTY 包裹属性

  这是例子 

USTRUCT()

  struct FVector2D

  {

    UPROPERTY()

    float X;

    UPROPERTY()

    float Y;

    UFUNCTION()

    float GetLength() const;
  };

3.虚幻主义者

  UE4代码中使用自己的基础类型,不适用C++中的(char,short,int,long等)

  ①取而代之的是:int32,uint32,uint64,TCHAR,ANSICHAR等  

  数值类型在NumericLimits.h中声明,可以详细阅读查询

  

  ②一般的结构数据类型有

  FBox,FColor,FGuid,FVariant,FVector,TBigInt,TRange  

  ③容器

  TArray,TSparseArray-动态数组

  TLinkedList,TDoubleLinkedList

  TMap-键值对哈希表

  TQueue-队列

  TSet-非有序集

  

  ④代理:这一部分中文更加拗口没有翻译的意义,实际使用的时候我会再解释

  Unicast and multicast delegates

  thread-safe variants

  ⑤智能指针

  TSharedPtr,TSharedRef-一般传统的C++对象

  TWeakPtr-一般传统的C++对象

  TWeakObjPtr-UObject

  TAutoPtr,TScopedPtr

  TUniquePtr

  原谅我偷懒直接复制,用了才知道怎么回事

  Similar to boost:: & std:: implementations
  Also thread-safe variants

  ⑥String 类型

  FString- 通常的String

  FText- 本地化,在Slate UI中常使用

  FName-在UObject中常使用的,String哈希.FName是大小写敏感的

  

  ⑦String文字

  TEXT()- 创建一个通用的String类型,TEXT("Hello");

  LOCTEXT()-创建一个本地化文字,LOCTEXT("Namespace","Name","Hello");

  NSLOCTEXT()-在一个域名空间内的本地化,NSLOCTEXT("Name","Hello");

瞧,这就是UE4 C++的更多相关文章

  1. UE4物理模块(一)---概述与可视化调试

    UE4.21前的版本采用的是NVIDIA的PhysX做为其默认的物理引擎,用于计算3D世界的碰撞查询与物理模拟.自4.21版本开始改物理调用接口,但这并不是闲来重构代码,果然在2019GDC大会上放出 ...

  2. 深入剖析GPU Early Z优化

    最近在公司群里同事发了一个UE4关于Mask材质的优化,比如在场景中有大面积的草和树的时候,可以在很大程度上提高效率.这其中的原理就是利用了GPU的特性Early Z,但是它的做法跟我最开始的理解有些 ...

  3. UE4新手引导之下载和安装虚幻4游戏引擎

    1) 进入虚幻4的官方主页(https://www.unrealengine.com/) 这里你可以获得关于虚幻4的最新资讯,包括版本更新.博客更新.新闻和商城等.自2015年起,该引擎已经提供免费下 ...

  4. ue4 模块的构建和加载

    ue4的代码是模块的形式来组织 在源码层面,一个包含*.build.cs的目录就是一个模块 这个目录里的文件在编译后都会被链接在一起,比如一个静态库lib,或者一个动态库dll. 不管是哪种形式,都需 ...

  5. UE4简单AI

    首先做个小小的声明把,由于俺之前也没接触过AI ,所以有一些专业的词汇可能翻译存在各种问题,如果你发现的话,还是希望能够提出来哦,我们一起进步. 记住配合视频食用更佳哦~ 视频连接:http://ww ...

  6. Unreal Engine 4(虚幻UE4) GameplayAbilities插件入门教程(一)

    本文系笔者的实习生分享会内容预备兼GameplayAbilities的初学者教程. 本文适合已有四十天UE4开发经验的初学者. 参考资料:https://wiki.unrealengine.com/G ...

  7. UE4联机多人游戏基本设置

    UE4自带网络联机功能,但是似乎只有蓝图接口,而真正写功能的时候不能用C++,让人感觉相当诡异 还是作一个简单记录 1.建一个第三人称模板,为什么会用他呢,因为它自带模板的很多组件,直接支持联机功能, ...

  8. [UE4]Canvas Panel

    一.Canvas Panel:画布.Canvas Panel中内的元素可以任何摆放位置.Canvas Panel是UserWiget默认的根节点容器,可以把跟节点删除替换生成任何的UI元素. 二.选择 ...

  9. 《Exploring in UE4》多线程机制详解[原理分析]

    转自:https://zhuanlan.zhihu.com/c_164452593 目录一.概述二."标准"多线程三.AsyncTask系统3.1 FQueuedThreadPoo ...

随机推荐

  1. php常见细节错误

    PHP编程中10个最常见的错误 PHP是一种非常流行的开源服务器端脚本语言,你在万维网看到的大多数网站都是使用php开发的.本篇经将为大家介绍PHP开发中10个最常见的问题,希望能够对朋友有所帮助. ...

  2. selenium webdriver设置超时

    webdriver类中有三个和时间相关的方法: 1.pageLoadTimeout 2.setScriptTimeout 3.implicitlyWait pageLoadTimeout from s ...

  3. VMWare联网

    VMWare提供了三种工作模式,它们是bridged(桥接模式).NAT(网络地址转换模式)和host-only(主机模式).  如果你想利用VMWare在局域网中新建一个独立的虚拟服务器,为局域网用 ...

  4. JQuery ajax方法及参数

    ©屋主原创,版权归 todayeeee 所有!如需转载,必须在页面明显位置给出原文链接!商业用途请 联系我!   $.ajax({ type: 'GET',    // 这是请求的方式 可以是GET方 ...

  5. 【python cookbook】【数据结构与算法】12.找出序列中出现次数最多的元素

    问题:找出一个元素序列中出现次数最多的元素是什么 解决方案:collections模块中的Counter类正是为此类问题所设计的.它的一个非常方便的most_common()方法直接告诉你答案. # ...

  6. eclipse项目中启动项目无法载入类

    在eclipse 项目中,当载入jar包后,加载里面的包,可以找到此类,但是编译运行的时候报错java.lang.ClassNotFoundException: 1,路径名未写正确: 2,配置出错; ...

  7. M公司面试

    1.技术面 跟日历相关的,根据你联系人的时间,确定可以安排活动的时间 2.final面 你的项目经历,挑战,解决办法: 判断两个长方形,是否有重叠部分: 你的人生规划[这个很多公司都会问]

  8. Android网络传输中必用的两个加密算法:MD5 和 RSA (附java完成测试代码)

    MD5和RSA是网络传输中最常用的两个算法,了解这两个算法原理后就能大致知道加密是怎么一回事了.但这两种算法使用环境有差异,刚好互补. 一.MD5算法 首先MD5是不可逆的,只能加密而不能解密.比如明 ...

  9. PHP正则表达式的使用

    1. 正则表达式的主要作用是:分割.匹配.查找.替换2. 正则表达式中包括的元素:原子(普通字符:a-z A-Z 0-9 .原子表.转义字符),元字符(有特殊功能的字符),模式修正符(系统内置部分字符 ...

  10. JavaEE基础(二十四)/多线程

    1.多线程(多线程的引入) 1.什么是线程 线程是程序执行的一条路径, 一个进程中可以包含多条线程 多线程并发执行可以提高程序的效率, 可以同时完成多项工作 2.多线程的应用场景 红蜘蛛同时共享屏幕给 ...