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. ahb2apb和apb2apb async bridge

    AHB 3.0目前不支持security world. AHB到APB的async bridge主要包括三个部分: 1)AHB domain 1)产生信号hactive = HSEL & HT ...

  2. js同步访问后台资源

    $.ajax( {  type : 'post',  url : url,  data : data,  async : false,//false代表只有在等待ajax执行完毕后才执行window. ...

  3. [tp3.2.1]大D构建模型

    使用大(写字母)D方法: 如果,在默认到Home模块下面找不到UserModel模块,那么就会到Common模块下去找. 而如果此时在Common模块下还是找不到UserModel,那就会调用Mode ...

  4. ASP.NET MVC的TempData(转载)

    本文章基于ASP.NET MVC Preview5. ASP.NET MVC的TempData用于传输一些临时的数据,例如在各个控制器Action间传递临时的数据或者给View传递一些临时的数据,相信 ...

  5. struts2 笔记02 文件上传、文件下载、类型转换器、国际化的支持

    Struts2的上传 1. Struts2默认采用了apache commons-fileupload  2. Struts2支持三种类型的上传组件 3. 需要引入commons-fileupload ...

  6. Perl 和 Python 的比较 【转】

    转自:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&id=4662991&uid=608135 作为万年Perl 党表示最近开 ...

  7. <mvc:annotation-driven />与<context:annotation-config />

    Spring家族的配置中这两个配置的意义,说具体点其实根据标签的shecma就能看出来,mvc,主要就是为了Spring MVC来用的,提供Controller请求转发,json自动转换等功能,而co ...

  8. maven打包异常

    maven打包异常,如图: 问题原因:服务器密码错了.

  9. Linux CentOS 6.5 yum安装MongoDB的操作

    安装MongoDB的方法有很多种,可以源代码安装,在CentOS也可以用yum源安装的方法.由于MongoDB更新得比较快,我比较喜欢用yum源安装的方法.64位CentOS下的安装步骤如下: 1.准 ...

  10. Asp.net Vnext api CORS( 跨域)

    概述 跨域资源共享(CORS )是一种网络浏览器的技术规范,它为Web服务器定义了一种方式,允许网页从不同的域访问其资源.而这种访问是被同源策略所禁止的.CORS系统定义了一种浏览器和服务器交互的方式 ...