C++11
粪逗er
努力的人运气不会差
展开
-
C++智能指针之auto_ptr
头文件auto_ptr不能初始化为指向非动态内存(原因很简单,delete 表达式会被应用在不是动态分配的指针上这将导致未定义的程序行为)。对象通过初始化只能指向由new创建的动态内存,它是这块内存的拥有者。构造auto_ptr对象示例代码// 直接构造智能指针auto_ptr<int> p(new int(1));//推荐// 将已存在的指向动态内存的普通指针作为参数...原创 2018-12-05 10:02:26 · 307 阅读 · 0 评论 -
C++智能指针之unique_ptr
从C++智能指针之auto_ptr一文中得知:在使用auto_ptr时,可能会不经意的将多个auto_ptr指向同一块内存,造成auto_ptr销毁释放时多次释放同一块内存。为了解决该问题,本文引出了unique_ptr。顾名思义,unique是唯一的意思。说明它跟auto_ptr有点类似,就是同时只能有一个智能指针对象指向某块内存,与auto_ptr不同,unique_ptr还有些其他特性:...原创 2018-12-05 10:29:17 · 300 阅读 · 0 评论 -
C++智能指针之shared_ptr
shared_ptr是一个引用计数智能指针,用于共享对象的所有权。它可以从一个裸指针、另一个shared_ptr、一个auto_ptr、或者一个weak_ptr构造。1、shared_ptr的构造函数(1) 这个构造函数获得给定指针p的所有权。参数p必须是指向T的有效指针。构造后引用计数设为1。template <class T> explicit shared_ptr(T* ...原创 2018-12-05 12:33:22 · 474 阅读 · 0 评论 -
C++智能指针之weak_ptr
https://blog.csdn.net/albertsh/article/details/82286999前言weak_ptr这个指针天生一副“小弟”的模样,也是在C++11的时候引入的标准库,它的出现完全是为了弥补它老大shared_ptr天生有缺陷的问题,其实相比于上一代的智能指针auto_ptr来说,新进老大shared_ptr可以说近乎完美,但是通过引用计数实现的它,虽然解决了指针...原创 2018-12-05 13:31:28 · 717 阅读 · 0 评论 -
C++11之 std::bind | std::function
头文件 #include &amp;amp;amp;amp;amp;lt;functional&amp;amp;amp;amp;amp;gt;命名空间 std、std::placeholders1、bind与function使用示例代码:void showAll(int a, double b, const std::string&amp;amp;amp;amp;amp;amp; c){ std::cout &amp原创 2018-12-05 18:41:38 · 1626 阅读 · 0 评论 -
C++11几个常用关键字auto、decltype、追踪返回类型、using
auto1、auto关键字(1)auto的作用是让编译器自动推断变量的类型,而不需要显式指定类型。这种隐式类型的推导发生在编译期。(2)auto并不能代表实际的类型声明,只是一个类型声明的“占位符”(3)auto声明的变量必须马上初始化,以让编译器推断出它的实际类型。2、auto的限制(1)auto不能用于函数参数。如果需要泛型参数,可借助于模板(2)auto不能用于非静态成员变量...原创 2018-12-06 10:50:14 · 567 阅读 · 0 评论 -
c++11 继承控制关键字:final和override
= final1、用途:① 阻止了从类继承;② 阻止一个虚函数的重载class A final {};class B : public A { //“B”: 无法从“A”继承,因为它已被声明为“final”};class A{public: virtual void func() final;};class B : public A{public: void func...原创 2018-12-06 15:28:29 · 714 阅读 · 0 评论 -
C++11之Lambda
Lambda表达式的语法通过下图来介绍:① [ ]中的=、&amp;分别表示传递参数时以值传递、引用传递② 形参列表③ Mutable 标识④ 异常标识⑤ 返回值类型:使用C++11新增的返回类型后置语法⑥ 函数体,也就是lambda表达式需要进行的实际操作[](double x,double y)-&gt;double{return x-y;}1、函数指针、仿函数、Lambd...原创 2018-12-06 16:41:56 · 169 阅读 · 0 评论