Decltye 随笔

Posted zhanghengyu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Decltye 随笔相关的知识,希望对你有一定的参考价值。


类似于sizeof操作符,decltype也不需对其操作数求值。粗略来说,decltype(e)返回类型前,进行了如下推导:

1.若表达式e指向一个局部变量、命名空间作用域变量、静态成员变量或函数参数,
    那么返回类型即为该变量(或参数)的“声明类型”;
2.若e是一个左值(lvalue,即“可寻址值”),则decltype(e)将返回T&,其中T为e的类型;
3.若e是一个x值(xvalue),则返回值为T&&;
4.若e是一个纯右值(prvalue),则返回值为T。

const int i=0 ;     ///decltype(i) is const int

bool func(const Widget & w)//widget is a class
///decltype(w) is const Widget &
///decltype(func) is bool * (const Widget&)

struct Point{
  int x,y;
};
///decltype(Point::x ) is int

Widget x; ///decltype(w) is Widget

if(func(w)) ; ///decltype( func(w) )  is bool

vector<int> v;
if( v[0] == 0 ); /// ***decltype(v[0]) is int& ***

 

以上是关于Decltye 随笔的主要内容,如果未能解决你的问题,请参考以下文章

经济随笔

日常学习随笔-自定义了一个双链表(注释蛮详细的)

MVC+EF 随笔小计——分部视图(Partial View)及Html.Partial和Html.Action差异

Beta冲刺-用心聚落步

Beta冲刺-用心聚落步

Beta冲刺-置顶随笔