摘要:在C++中,常量、变量或表达式一定是左值(lvalue)或右值(rvalue)。 左值:非临时的(具名的,可在多条语句中使用,可以被取地址)。可以出现在等号的左边或右边。可分为非常量左值和常量左值。 类型 举例 非常量左值 int ncLeft1 = 2;// ncLeft1为非常量左值 ++ncL
阅读全文
摘要:资源移动 1. 在编辑器的Content中,可通过拖拽资源文件或目录来进行移动(注:资源的移动不能在windows资源管理器中进行,否则会导致引用关系丢失) 2. 若被移动的资源被其他资源引用着,移动完后会存在一个同名的重定向文件(jump文件,大小约为2KB):用于记录文件移动后的位置 3. 通过
阅读全文
摘要:lua类型 lua示例 C类型(宏 ) C子类型(variant tags宏) 及详细说明 C数据结构 nil(空) type(nil) -->nil #define LUA_TNIL 0 //空类型 // 判断TValue* o是否为一个nil 即:o->_tt是否为0 #define ttisn
阅读全文
摘要:C#与C++比较概况: C++C# #include <iostream> using namespace std; using namespace China::GuangDong::ShenZhen; namespace China { namespace HuBei { namespace W
阅读全文
摘要:Go(又称Golang,wiki 中文)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的开源编程语言(github),支持windows、linux、macOS等操作系统。 安装SDK 在运行和调试go脚本之前,需要安装SDK包(当前最新的go版本为1.13.5 window
阅读全文
摘要:UE4中的delegate(委托)常用于解耦不同对象之间的关联:委托的触发者不与监听者有直接关联,两者通过委托对象间接地建立联系 监听者通过将响应函数绑定到委托上,使得委托触发时立即收到通知,并进行相关逻辑处理 委托,又称代理,本质是一个特殊类的对象,它内部可以储存(一个或多个)函数指针、调用参数和
阅读全文
摘要:lua(wiki 中文 官方社区:lua-users)是一门开源、简明、可扩展且高效的弱类型解释型脚本语言。 由于其实现遵循C标准,它几乎能在所有的平台(windows、linux、MacOS、Android、iOS、PlayStation、XBox、wii等)上运行。 当前最新的lua版本为5.3
阅读全文
摘要:Unity4.x编辑器侧 具体版本号:Visual Studio 2015 Tools for Unity 3.7.0.1 该插件在:Microsoft Visual Studio Tools for Unity\2015\Visual Studio 2015 Tools.unitypackage
阅读全文
摘要:现代编译器缺省会使用RVO(return value optimization,返回值优化)、NRVO(named return value optimization、命名返回值优化)和复制省略(Copy elision)技术,来减少拷贝次数来提升代码的运行效率 注1:vc6、vs没有提供编译选项来
阅读全文
摘要:迭代器模式是设计模式的一种,因为其运用的普遍性,很多语言都有内嵌的原生支持 在.NET中,迭代器模式是通过IEnumerator、IEnumerable两个接口(有非泛型和泛型2种版本)来封装的 迭代器模式的一个重要方面是:不是一次返回所有数据,而是每次调用只返回一个元素 Array、IEnumer
阅读全文
摘要:以下代码兼容python2.7+、python3 TCP示例 服务器 -- sever_tcp.py #!/usr/bin/env python #coding=utf-8 import time import socket import threading local_addr = ('127.0
阅读全文
摘要:lambda表达式又称匿名函数(Anonymous function),其构造了一个可以在其作用范围内捕获变量的函数对象。 lambda表达式实际为一个仿函数functor,编译器后会生成一个匿名类(注:这个类重载了()运算符) 与普通函数指针相比,Lambda表达式可以包含数据成员,也就是说它是可
阅读全文
摘要:客户端(当前玩家)与服务器对应关系图: 整体上看,UE3的GamePlay框架使用的是MVC架构 ① 橙色的Actor对象及橙色箭头相连的成员变量只会被同步给Owner客户端 Controller:控制器,包括PlayerController和AIController InventoryManage
阅读全文
摘要:Git本地会保存文件所有版本,对于大文件很容易导致仓库体积迅速膨胀 为了解决这个问题,Github在2015.4宣布推出Git LFS(Large File Storage),详见:Announcing Git Large File Storage (LFS) 其方法是在Git仓库中内嵌一个类似sv
阅读全文
摘要:Visual Studio插件主要有两种:Add-in 和 VSX(Visual Studio eXtensibility) 两者区别可参考这篇文章:Visual Studio Extensions - from Add-in to VSPackage 安装了相应的SDK后,在创建工程时,就能看到插
阅读全文
摘要:在个人的Unrealengine账户中关联自己的GitHub账户成功之后,就可以访问UE4引擎的源码了。 git clone -b release https://github.com/EpicGames/UnrealEngine.git 克隆成功后,执行Setup.bat拉取并安装外部依赖文件(第
阅读全文
摘要:上面的例中,当打断点调试时,断点断住时, Attr1属性的get块就会执行一次。 两个断点加在逻辑中对Attr1的访问,最后发现CTest get Attr1.打印了3次。 得到的结论是:多余的2次打印是由于断点使得程序中断引发的,中断后调试器需要获取Attr1的数值,对get块进行调用。 不调试直
阅读全文
摘要:Stat命令(chs en)提供了游戏和引擎各个方面的实时统计信息,输入不同参数会在屏幕HUD上显示对应统计数据。 其他扩展阅读:udn:虚幻引擎性能跟踪系统(Unreal Engine Performance Tracking System) 非Shipping版的UDK才会启用STATS宏,统计
阅读全文
摘要:UE4作为开源商业引擎,其代码托管在私有库:https://github.com/EpicGames/UnrealEngine 为了能看到并下载UE4的代码,开发者需要有GitHub账号和Unrealengine账号,然后在Unrealengine账户的个人信息页面中关联GitHub用户名 关联成功
阅读全文
摘要:基础宏定义 使用VARARG_DECL宏在头文件中,定义了0~28个不同参数类型的appThrowf函数(注:1~28用函数模板来定义),appThrowf通过CheckVA进行类型检查后,最后调用appThrowf__VA 注:像printf函数一样,不定参数函数必须声明为__cdecl调用,由调
阅读全文