[TOC]
在stackoverflow看到一个问题,说重载函数试根据参数来的,和返回类型没有关系。然而下面这个模板函数只有返回类型不一样,为什么是正确的,参考[1]。
#include <iostream>
using namespace std;
template<typename T>
T add(double a, double b)
{
return static_cast<T>(a + b);
}
int main()
{
cout << add<int>(1.1, 1) << endl;
cout << add<double>(1.1, 1) << endl;
return 0;
}
[TOC]
time: 2018/12/27
今天遇到一个问题,有同事使用vector的reserve并且直接取第一个元数来用,伪代码如下:
[TOC]
前面两篇主要介绍一些基础,帮助后面gc流程理解的。像是饭前的开胃菜一般,让你后面容易吃的更多。接下来几篇都是gc流程相关
[TOC]
这是这个gc系列的第二篇,这一篇主要讲GC用到的数据结构,有助于理解gc的,所以放在前面
[TOC]
已经有很多人写了gc源码分析的文章了,自己为啥还要继续写呢?最主要的原因有两个:
[TOC]
我们的项目的lua版本升级到了5.3,为了兼容5.1的内容,我们自己写了setfenv和getfenv两个函数(之前说过5.2之后没有了setfenv和getfenv接口了[1])。但是,在用的时候遇到坑,lua报错,但是在某个函数中打印print函数就正常了,好尴尬~。最后在同事的帮忙下,终于发现了主要原因:当尾调用fgetenv的时候得到的并不是你想要的那个函数的环境!