
【C++】
C++
code&&coder
这个作者很懒,什么都没留下…
展开
-
C++ std::move和std::forward
一、概述 std::move c++11中提供了std::move()来将左值转换为右值引用,从而方便的使用移动语义。move是将对象的状态或者所有权从一个对象转移到另一个对象,只是转移,没有内存拷贝。 c++中所有容器都实现了move语义,方便我们实现性能优化。move对于拥有形如对内存、文件句柄等资源的成员的对象有效。如果是一些基本类型,比如int或char[10]数组等,如果使用move,仍...原创 2020-04-28 20:04:45 · 272 阅读 · 0 评论 -
C++ 左值,右值,左值引用,右值引用
一、概念 左值:有名字的变量(对象),可以被赋值,可以在多条语句中使用。 右值:临时变量(对象),没有名字,只能在一条语句中出现,不能被赋值。 1.1 左值引用 左值引用的基本语法:type &引用名 = 左值表达式; 1.2 右值引用 右值引用的基本语法:type &&引用名 = 右值表达式; 二、代码 QString str1 = "str1"; QS...原创 2020-04-28 19:09:39 · 207 阅读 · 0 评论 -
C++ std::function() std::bind()
一、介绍 类模版std::function是一种通用、多态的函数封装。std::function的实例可以对任何可以调用的目标实体进行存储、复制、和调用操作。 通过std::function对C++中各种可调用实体(普通函数、Lambda表达式、函数指针、以及其它函数对象等)的封装,形成一个新的可调用的std::function对象;让我们不再纠结那么多的可调用实体。 std::bind函数将可调...原创 2020-04-28 16:57:08 · 156 阅读 · 0 评论