摘要:
【1】显式转换操作符 C++11以前,对explicit关键字的理解可参考随笔《explicit关键字》。 而在C++11中,标准将explicit的使用范围扩展到了自定义类型转换操作符上,以支持所谓的“显式类型转换”。 explicit关键字作用于类型转换操作符上,意味着只有在直接 构造目标类型 阅读全文
posted @ 2020-01-27 22:48
kaizenly
阅读(500)
评论(0)
推荐(0)
摘要:
【1】为什么引入完美转发? 在函数模板编程中,常有一种场景是把模板参数转发给另一个调用函数,这时候如果只提供值传递版本会显得效率太低。看以下代码: 1 template<class TYPE, class ARG> 2 TYPE* getInstance(ARG arg) 3 { 4 TYPE* p 阅读全文
posted @ 2020-01-27 11:46
kaizenly
阅读(7230)
评论(0)
推荐(1)
摘要:
【1】std::move 在C++11中,标准库在<utility>中提供了一个有用的函数std::move。 这个函数的名字很具有迷惑性,因为实际上std::move并不能移动任何东西,它唯一的功能:将一个左值强制转化为右值引用,继而可以通过右值引用使用该值,以用于移动语义。 从实现上讲,std: 阅读全文
posted @ 2020-01-27 00:18
kaizenly
阅读(1057)
评论(0)
推荐(0)

浙公网安备 33010602011771号