decltype typename[通俗易懂]

decltype typename[通俗易懂]decltype((variable))总是引用类型,但是decltype(variable)只有当variable是引用类型时才是引用类型。#include<iostream>#include<typeinfo>usingstd::cin;usingstd::cout;usingstd::endl;autof(au…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

decltype((variable))总是引用类型,但是decltype(variable)只有当variable是引用类型时才是引用类型。

#include <iostream>
#include <typeinfo>

using std::cin;
using std::cout;
using std::endl;

auto f(auto x)
{ return x+1;}
auto f(auto x,auto y)->decltype(y){
    return x-y;
}
 
double func()
{
    cout << "func executed." << endl;
    return 2.5+3.6;
}

int main()
{
    decltype(func()) sum;
    cout << typeid(sum).name() << endl;
    
    const int ci = 0, &cj = ci;
    decltype(ci) x = 0;
    decltype(cj) y = x;
    //decltype(cj) z; // compile error: ‘z’ declared as reference but not initialized
    cout << typeid(x).name() << endl;
    cout << typeid(y).name() << endl;
    
    int i = 10, *p = &i, &r = i;
    decltype(r + 0) b;
    //decltype(*p) c; // compile error: ‘c’ declared as reference but not initialized
    cout << typeid(b).name() << endl;
    
    decltype(i) u;
    //decltype((i)) v; // compile error: ‘v’ declared as reference but not initialized
    
    return 0;
}

 

转载于:https://www.cnblogs.com/huashiyiqike/p/3927894.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/197493.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java 缓存 工具类

    java 缓存 工具类

    2022年2月23日
    59
  • 最短路径模板+解析——(FLoyd算法)[通俗易懂]

    最短路径模板+解析——(FLoyd算法)[通俗易懂]对于无权的图来说:若从一顶点到另一顶点存在着一条路径,则称该路径长度为该路径上所经过的边的数目,它等于该路径上的顶点数减1。由于从一顶点到另一顶点可能存在着多条路径,每条路径上所经过的边数可能不同,即路径长度不同,我们把路径长度最短(即经过的边数最少)的那条路径叫做最短路径,其路径长度叫做最短路径长度或最短距离。对于带权的图来说:考虑路径上各边上的权值,则通常把…

    2022年4月20日
    68
  • SpringBoot跨域的几种解决方案

    SpringBoot跨域的几种解决方案SpringBoot跨域请求处理方式方法一、SpringBoot的注解@CrossOrigin(也支持SpringMVC)简单粗暴的方式,Controller层在需要跨域的类或者方法上加上该注解即可@RestController@CrossOrigin@RequestMapping(“/situation”)publicclassSituationControllerextendsPublicUtilController{@AutowiredprivateSit

    2022年6月16日
    30
  • oc和js交互_js调用api

    oc和js交互_js调用apiiOSJS与OC交互1、UIWebView与JS交互UIWebView在iOS12中已经被废弃,同时WKWebView在iOS8中已经出现。所以无特殊情况的话,我们一般应该也是用不到前者了!UIWebView初始化:self.webView=[[UIWebViewalloc]initWithFrame:self.view.bounds];self.webView.delegate=self;[self.viewaddSubview:self.

    2025年8月3日
    3
  • C、C++基础知识之 六 CString::ReverseFind()和CString::Find()区别「建议收藏」

    C、C++基础知识之 六 CString::ReverseFind()和CString::Find()区别「建议收藏」CString::ReverseFindintReverseFind(TCHARch)const;返回值:参数:    ch要搜索的字符。说明:此成员函数在此CString对象中搜索与一个子串匹配的最后一个字符。此函数类似于运行时函数strrchr。“最后一个字符”是指从左往右的最后一

    2022年6月23日
    31
  • Dell服务器误删阵列恢复操作

    Dell服务器误删阵列恢复操作确认机器是否阵列(此例为阵列五)已丢失,然后配置idrac配置完成退出BIOS,让机器自然运行,进不去系统没关系正常磁盘掉线状态为Foreign,目前操作是误删了阵列所以磁盘全为ready模式,Foreign那块是后加的raid0(导回即可)这边机器退出BIOS开机以后,需要idrac收集一份日志(日志系统日志与存储日志)然后排查日志,发现日志有删除动作,但是没有格式化磁盘(应该是误删操作)在误删阵列,但是没有格式化的情况下啊,大概率实现资料恢复(先确认机器之前是什.

    2022年6月15日
    92

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号