摘要:
一、unreal文档中说明的层级关系 其实unreal文档对该内容有说明File HierarchyThe configuration file hierarchy is read in starting with Base.ini, with values in later files in th 阅读全文
摘要:
一、问题的背景 在某些情况下,我们希望对C中的特定函数执行时间进行统计,当然比较简单的方法就是在这个需要进行profile的函数添加一个函数局部变量,并在构造和析构函数的时候的时间差来作为整个函数的执行时间。如果这种需要统计的函数比较多,那么这种手动添加起来就比较麻烦,此时就考虑到了gcc编译器提供 阅读全文
摘要:
一、git的push命令 git的commit只是本地修改,不用担心对于远端版本库的影响。当你不需要考虑后果的时候,通常就会比较胆大。对应的,push的修改会在远端生效,所以这个修改就需要小心谨慎一些。最为方便和常用的当然是只推送当前工作分支(branch)的修改,这是比较直观的期望运行效果。但是这 阅读全文
摘要:
一、reference forwarding(引用转发)gcc实现及C++标准的规定 gcc-4.8.2\gcc\cp\pt.c/* Adjust types before performing type deduction, as described in [temp.deduct.call] a 阅读全文
摘要:
一、问题 fmt库最为神奇的地方是好像在编译时记录出了所有参数的类型,并将这类型一直保留到运行时使用。其实“编译时记录”所有参数类型并不神奇,这一点在C++11中的模板参数包(template parameter pack)的支持下比较容易实现,更为方便的是直接使用std提供的tuple功能,可以方 阅读全文
摘要:
一、问题的引入 对于lambda表达式的capture内容,比较知名的是capture-default,也就是通过“&”或者“=”引导的缺省捕捉,通常的做法大家应该都是使用"&"以引用的形式引入。但是如果捕捉内容为空时,此时语法如何处理?从文档上看,如果是global/tatic/thread/co 阅读全文
摘要:
一、为什么会考虑这个问题 假设框架提供一种机制,这种机制对于处理之后的所有对象都会执行释放(delete)操作,但是对于一些存在于内存池中的结构,如果使用默认delete操作就会有问题,因为默认的delete操作是把指定内存当做堆中空间操作的,所以对于位于内存池中的类型就需要考虑是不是需要重载自己的 阅读全文
摘要:
一、using的所有语法功能 using这个关键字当然不是在C++11中添加的,但的确是在C++11中扩展了这个关键字的意义,其中最关键的扩展就是增加alias这种语法意义。直接查看gcc的代码,可以清晰的看到using关键字的所有用法及意义。在gcc-4.9.0\gcc\cp\parser.c文件 阅读全文
摘要:
一、为什么需要extension Protobuf的文档明确说明了禁止继承protobuf的消息,而且在生成的C++消息中也添加了final来从语法上完全禁止继承这些消息。protobuf把这些说明放在序列化和反序列化这个条目下,可能主要是基于序列化/反序列化的处理。但是在某些情况下,如果我们一定要 阅读全文
摘要:
一、Message消息的可视化展示 将消息转换为二进制结构,必然提高了结构的传输效率。但是和通常的二进制文件格式一样,为节省空间付出的代价就是牺牲了部分的可读性,就像linus对systemd中二进制文件的看法一样“I dislike the binary logs, for example”。转换 阅读全文