C++ 11新特征
BlackCarDriver
这个作者很懒,什么都没留下…
展开
-
C++11 多线程
本文讨论C++11 中如何创建和使用多线程,以及如何解决资源进程、数据同步等问题。C++ 11 多线程文章目录C++ 11 多线程创建和使用线程连接和分离线程关于参数传递数据竞争问题与解决顺序控制线程返回值std::asyncstd::packaged_task注意事项创建和使用线程在C ++ 11中,我们可以通过创建std :: thread类的对象来创建其他线程。每个std :: th...原创 2020-04-19 21:47:20 · 835 阅读 · 0 评论 -
C++11智能指针
C++11智能指针本文将讨论C++ 11 中的智能指针,如何使用以及注意事项。share_ptrshared_ptr是c ++ 11提供的一种Smart Pointer类,它能够在不再被引用的时候自动释放内存,从而帮助我们消除内存泄漏和指针悬空的问题。shared_ptr 对象内部指向两个内存,分别是目标对象的内存以及一个引用计数器。当shared_ptr关联到一个指针时,它会让引用计数器加...原创 2020-04-15 16:35:58 · 502 阅读 · 0 评论 -
C++元组 - tuple
本文讨论什么是std::tuple以及其使用方法。std::tuplestd :: tuple是可以将一至多个类型绑定在一起的类型。创建元组对象时,需要将元素的类型指定为模板参数。我们可以从函数中返回该元组对象,它可以帮助我们从一个函数返回多个值从而避免创建不必要的结构。创建元组示例声明一个tuple,它是是个int,char,string的集合tuple<int, char,...原创 2020-04-14 09:57:53 · 746 阅读 · 0 评论 -
关于 C++11 Lambdas
Lambdas本文将介绍什么是Lambdas函数及如何使用Lambdas函数。什么是Lambdas函数Lambda函数是C ++中的一种匿名函数,主要用作C ++中的回调,它主要在我们必须创建非常小的函数以作为回调传递给另一个API时使用。使用场景和示例假设现在我有一个整数数组,我想遍历此数组并使用STL算法for_each打印所有元素。首先让我们使用函数指针来做到这一点,void ...原创 2020-04-13 16:39:42 · 470 阅读 · 0 评论 -
可变参数模板
可变参数模板C++11引进了一个新功能:Variadic Template Function (可变参数模板)。通过可变参数模板,我们可以创建出接受任意类型、任意个数参数的函数。如何使用一个声明可变参数模板的简单例子:template<typename T, typename ... Args>void log(T first, Args ... args);上面的函数可...原创 2020-04-12 10:42:38 · 417 阅读 · 0 评论 -
关于 auto
关于 autoC++11 中引进了auto。auto 即自动类型,可以让我们声明一个变量而无需指定其类型,类型会根据初始值而被确定。下文介绍如何使用auto以及一些注意事项。如何使用一个简单的例子:auto var_1 = 5;auto var_2 = 'C';cout << typeid(var_1).name() << endl; //intcout &l...原创 2020-04-12 09:31:50 · 385 阅读 · 0 评论 -
关于std::bind
关于 std::bindstd::bind C++ 11 的一个新函数,返回值为一个函数对象,可以看作一个通用的函数适配器。它接受一个函数作为参数,并返回一个新的函数同时将一至多个参数绑定到返回的函数中。下文的内容包括如何使用bind 以及什么时候使用bind。如何使用假如我们已经有一个函数:int add(int a, int b){ return a + b;}bind将一个函...原创 2020-04-11 14:25:02 · 422 阅读 · 0 评论 -
Delete 关键字新特性
Delete 关键字新特性在C ++ 11中,引入了关键字delete的新功能。我们可以将delete关键字应用于限制函数的使用。下文将演示以下常见的使用场景:应用于编译器自动生成的函数以禁止使用特定的操作(如复制,比较)应用在成员函数上防止数据类型转换时导致数据丢失应用在new运算符上来限制堆上对象的创建应用在模板类上来限制创建特定的类实例禁用复制构造函数和赋值运算符我们可...原创 2020-04-10 15:27:28 · 593 阅读 · 0 评论