深入理解C++11-附录B

技术深入理解C++11-附录B 深入理解C++11-附录B深入理解C++11
附录B
弃用的特征
1.auto:
可在任何需要声明变量类型的上文中使用,但不能声明函数参数(因为重载的原因,不能这么使用)

深入了解C 11-附录B

深入了解C 11

附录b

废弃特性

1 .自动:

它可以用在任何需要声明变量类型的文章中,但是不能声明函数参数(因为重载,不能这样使用),也不能推导数组类型。

类型判断

类型判断主要介绍获取变量的类型。decltype()可用于在编译期间获取变量的类型:

2 .出口

特征被移除,关键字被保留,但它不包含任何语义。

3 .注册

仅用于块内的变量声明或作为函数参数的声明。

4.隐式复制功能:不会自动生成

如果用户声明了复制操作符或析构函数,编译器将不会隐式声明复制构造函数。

5.auto_ptr

Auto_ptr被unique_ptr替换,避免系统异常退出时资源泄露。

unique_ptr对象有一个指向另一个对象的指针,当它析构自己时,它就析构这个对象。

Unique_ptr要传输对象,需要使用std:move函数将对象转换为正确的值。因为

unique_ptr的复制构造函数已被删除。因此,在转换为正确的值后,使用构造函数来传输a中的指针。例如:

std:unique_ptr a(新int);

STD : unique _ ptr b=STD : move(a);

STD : unique _ ptr d(STD : move(a));

Unique_ptr可以存储在标准容器中。

分配unique_ptr时,只能使用STD :3360 move (a),即使用转移构造。

6.bind1st/bind2nd

旧:将二元函数对象绑定到一元模仿函数(函数对象)

更改:被绑定模板替换。

新的绑定函数模板为可调用类提供了更好的参数绑定机制。不需要绑定的参数使用占位符STD :3360 Place hold :3360 _ j,一个从1开始的正整数。

int Func(int x,int y);

functionint(int) f=bind(Func,1,place holders : _ 1);

f(2);//与Func(1,2)相同;`

类型,即隐式转换的函数,但可以自定义效果const expr运算符value _ type () {}。

void test_bind()

{

cout ' \ ntest _ bind ' endl

矢量nums={1,3,14,53,4,56,20 };

auto it=find_if(cbegin(nums),cend(nums),bind1st(greaterint(),5));

如果(它!=cend(nums))

cout * it endl

auto it1=find_if(cbegin(nums),cend(nums),bind2nd(greaterint(),5));

if (it1!=cend(nums))

cout * it1 endl

functionint(int) f=bind(sub,100,place holders : _ 1);

cout 'sub(x,y)-sub(6): ' f(6)endl;

//function bool(int)f _ greater=bind(greater int(),5,place holders : _ 1);

auto f_greater=bind(greaterint(),5,place holders : _ 1);

cout 'greateint,5结果为: ' f _ great(15)endl;

bool is _ bind _ expr=is _ bind _ expression ond cltype(f _ better): value;

}

bind接受的函数对象的参数数量没有限制,用户可以无限制地绑定任意数量的参数。因此,有了bind,bind1st和bind2nd显然是无用的和被抛弃的。

7.功能适配器

老特性:ptr _ fun,MEM _ fun,MEM _ fun _ ref,一元函数,二元函数

新功能:已弃用

不需要ptr_fun,直接绑定就可以解决。

代替mem_fn,

这相当于STL中内置的模仿功能。您可以使用内置函数调用STL容器中的对象。

Mem_fn最广为人知的功能是对容器应用成员函数,因此STD :3360 for _ each (v. begin()、v. end()、boost :3360 mem _ fn(shape 3360: draw))可以使容器中的每个元素都成为向量。

第二种用法是,它可以帮助模拟像函数对象一样的函数指针。主要用于算法,如STD std:for_each。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/112524.html

(0)

相关推荐

  • iphone手机壁纸,苹果手机壁纸在哪里可以找到

    技术iphone手机壁纸,苹果手机壁纸在哪里可以找到1、解锁iPhoneiphone手机壁纸,然后找到设置,点击设置、墙纸。2、点击选取新的墙纸,能看到所有系统的壁纸。一、手机壁纸通常也被称之为手机图片,待机图片,就跟W

    生活 2021年10月28日
  • 数据库数据文件如何进行分区转移

    技术数据库数据文件如何进行分区转移数据库数据文件如何进行分区转移,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。由于之前同事没有对磁盘分区做规

    攻略 2021年11月29日
  • GET和POST两种基本请求方法的区别有哪些

    技术GET和POST两种基本请求方法的区别有哪些本篇内容主要讲解“GET和POST两种基本请求方法的区别有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“GET和POST两

    攻略 2021年10月27日
  • 怎么使用DETERMINISTIC函数

    技术怎么使用DETERMINISTIC函数这篇文章主要讲解了“怎么使用DETERMINISTIC函数”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用DETERMIN

    攻略 2021年11月8日
  • JVM的艺术之如何使用类加载器

    技术JVM的艺术之如何使用类加载器这篇文章主要讲解了“JVM的艺术之如何使用类加载器”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JVM的艺术之如何使用类加载器”吧!正式

    攻略 2021年10月23日
  • SAP CRM WebClient UI交互式报表的工作原理

    技术SAP CRM WebClient UI交互式报表的工作原理这篇文章将为大家详细讲解有关SAP CRM WebClient UI交互式报表的工作原理,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文

    攻略 2021年12月3日