zyfforlinux

专注linux内核,系统编程,C++服务器端编程,golang ,python/bash脚本编程,DevOps,分布式...

Item26 Avoid overloading on universal references

这个系列的文章来自于Effective Modern C++的读书笔记,我抽取了其中比较重要的,不容易理解的,平常我们开发过程中也不太在意的一些Item进行分析。 ​ 在正式进入本文主题之前先来看一段代码,这段代码的目的是纪录下当前的日期和时间,并纪录一下名字到全局的数据结构中,代码如下:st...

2016-12-27 22:44:49

阅读数:697

评论数:0

Item25 Use std::move on rvalue reference, std::forward on universal references

这个系列的文章来自于Effective Modern C++的读书笔记,我抽取了其中比较重要的,不容易理解的,平常我们开发过程中也不太在意的一些Item进行分析。 ​ 右值引用只能绑定到那些可以移动的对象上,如果你有一个右值引用的参数,你应该知道这个参数是用来接收可以移动的对象的。而一个通用引...

2016-12-27 19:44:28

阅读数:654

评论数:0

都是静态函数惹的祸

​ 关于静态函数我相信大家一定不会陌生,在项目中多多少少也会去使用,静态函数的典型应用场景莫过于限制函数的作用域只在本文件中,在我见过的项目中通常开发人员会把一些辅助函数放在头文件中,然后直接包含到项目中,如果不用static修饰会导致函数重定义(这其实很不规范,偷懒的把文件的声明和定义都放到...

2016-12-26 19:26:01

阅读数:322

评论数:0

Item24 Distinguish universal references from rvalues reference

这个系列的文章来自于Effective Modern C++的读书笔记,我抽取了其中比较重要的,不容易理解的,平常我们开发过程中也不太在意的一些Item进行分析。 ​ 刚接触C++11的移动语义的时候,认为T&&就是右值引用,在随后阅读文献的时候发现了另外一个名字,通用引用(u...

2016-12-14 22:15:24

阅读数:432

评论数:0

Item23 Understand std::move and std::forward

这个系列的文章来自于Effective Modern C++的读书笔记,我抽取了其中比较重要的,不容易理解的,平常我们开发过程中也不太在意的一些Item进行分析。 ​ std::move和std::forward并不像它们的名字那样有用,这两个仅仅是一个模版函数,是在C++11中引入的,辅助移...

2016-12-06 00:22:09

阅读数:515

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭