1、new与malloc的区别
new:
new首先会去调用operator new函数,申请足够的内存(大多数底层用malloc实现),然后调用类型的构造函数来初始化变量,最后返回自定义类型的指针,delete先调用析构函数,然后调用operator delete函数释放内存(大多数底层用free实现)
__cdecl 是C Declaration的缩写(declaration,声明)
malloc:
malloc是库函数,只能申请内存,没有初始化功能
所以new与malloc最大的区别就是new能进行构造函数初始化
2、strcpy、sprintf、memcpy的区别
strcpy:用于将一个字符串复制到另一个字符串中
sprintf:sprintf函数用于将格式化的字符串输出到一个字符数组中
char str[10];
int num = 4;
sprintf(str, "number is %d", num);
printf("%s\n", str); // 输出 number is 4
memcpy:用于将一个内存地址的数据复制到另一个内存地址中
3、子弹穿墙问题
4、UE4如何切关卡后保留数据
存放在GameInstancesubsystem中,不要存在gameinstance内,这样会导致项目臃肿
5、UE4客户端能否使用AIController
不可以,在DS(dedicated server)模型下,AIController只存在于服务端,其主要是通过在服务端对Pawn进行操控,
然后再同步到客户端。