memcpy拷贝字符串数组时,不会自动拷贝null-terminator,除非指定的size包含它。
完美转发:http://c.biancheng.net/view/7868.html
C++11 标准中规定,通常情况下右值引用形式的参数只能接收右值,不能接收左值。但对于函数模板中使用右值引用语法定义的参数来说,它不再遵守这一规定,既可以接收右值,也可以接收左值(此时的右值引用又被称为“万能引用”)。
template <typename T>
class A {
// 注意这里并非完美转发,因为T是类模板参数,而非函数模板参数
void foo(T&&); // 只能接收右值引用
template <typename U>
void bar(U&&); // 这里就是完美转发,可以接受左值/右值引用
};