
C++新特性
文章平均质量分 80
zsyyugong
这个作者很懒,什么都没留下…
展开
-
【C++新特性】右值引用
右值引用延长了右值的生命周期,使用上相当于左值。左值不能初始化右值引用。右值只能初始化右值引用。原创 2024-06-15 10:49:12 · 509 阅读 · 0 评论 -
【C++新特性】移动语义 move()
在C++11中,标准库在中提供了一个有用的函数std::move,std::move并不能移动任何东西,它唯一的功能是将一个左值引用强制转化为右值引用,继而可以通过右值引用使用该值,以用于移动语义。 相对的有移动语义就有复制语义,复制语义就是B指针要想获得同样的内容就会发生拷贝,大部分都是深拷贝(浅拷贝,深拷贝有机会我会补上一篇博客的),结果就是指针A指向一片内存,指针B指向了另一片内存,但两片内存中存储的内容是相同的,大大的浪费性能。一句话概括std::move ———— std::move是。原创 2024-06-12 11:38:19 · 480 阅读 · 0 评论 -
【C++新特性】bind 函数和function 类模板
std :: function 的实例可以存储,复制和调用任何可调用的目标 :包括函数,lambda 表达式,绑定表达式或其他函数对象,以及指向成员函数和指向数据成员的指针。当 std::function 对象未包裹任何实际的可调用元素,调用该 std::function 对象将抛出 std::bad_function_call 异常。std::bind 将可调用对象与其参数一起进行绑定,绑定后的结果可以使用 std::function 保存。原创 2024-06-11 11:24:05 · 612 阅读 · 0 评论