现在有下面一段代码

char16_t a=u'抱';

之前说过,声明一个char16_t的变量a,但是需要在值前面加上小写的u,这就有意思了,既然我声明一个char16_t,那我加u干嘛?加u就代表我这是char16_t,但是我前面还声明char16_t,也就是说,我要用两个约束,才能做得到a是一个char16_t,这两个约束是
1.前面声明char16_t
2.后面还要加小写u
我个人觉得没什么太大用,但是后面这种多余的写法,在c++中可以做类型推断
1.使用auto先定义一个值
2.使用typeid(值).name()获取该值的类型

auto a = u'A';//char16_t
auto b = 55;// int
auto c = 666LL;//long long
auto d = 66L;//long
auto e = U'A';//char32_tstd::cout << typeid(a).name() << std::endl;
std::cout << typeid(b).name() << std::endl;
std::cout << typeid(c).name() << std::endl;//long long底层类型就是__int64
std::cout << typeid(d).name() << std::endl;
std::cout << typeid(e).name() << std::endl;

C++自学08:类型推断(auto/typeid)相关推荐

  1. C++新特性探究(6.1):auto和decltype的类型推断差异所在

    例 附上例代码: #include <iostream> using namespace std;int Max(int a,int b) {return a>b?a:b; }cla ...

  2. auto自动类型推断

    文章目录 1 auto 1 auto auto在C++11之前是自动变量的含义(栈变量,局部变量),在C++11后赋予其新的作用:自动类型推断. auto可以在声明变量的时候根据初始值的类型自动为此变 ...

  3. Effective Modern C++ 第一章 C++11/14/17中的类型推断

    Chapter 1, Deducing Type Item 1: Template type deduction 一些基础知识: 关于左值和右值的一些解释:https://book.2cto.com/ ...

  4. Java 10:局部变量类型推断

    Java 10:局部变量类型推断 在本文中,我们将深入研究Java 10中引入的局部变量类型推断的新特性.我们将讨论使用局部变量类型推断的范围和局限性. 此功能是作为JEP(JDK增强提案)的一部分提 ...

  5. java全局变量和局部变量_Java 10:局部变量类型推断

    java全局变量和局部变量 In this article, we would take a deep dive at the new feature of Local-Variable Type I ...

  6. Effective Modern C++ 条款1 理解模板类型推断

    理解模板类型推断 C++11的auto自动推断变量的方式是以模板推断为基础的,模板推断的规则也应用在auto上,所以理解掌握模板推断的规则对于我们C++程序员来说很重要. template <t ...

  7. Java 8新特性探究(6):泛型的目标类型推断

    简单理解泛型 泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数.通俗点将就是"类型的变量".这种类型变量可以用在类.接口和方法 ...

  8. TypeScript Type Innference(类型推断)

    在这一节,我们将介绍TypeScript中的类型推断.我们将会讨论类型推断需要在何处用到以及如何推断. 基础 在TypeScript中,在几个没有明确指定类型注释的地方将会使用类型推断来提供类型信息. ...

  9. 【Groovy】Groovy 动态语言特性 ( Groovy 中函数实参自动类型推断 | 函数动态参数注意事项 )

    文章目录 前言 一.Groovy 中函数实参自动类型推断 二.函数动态参数注意事项 三.完整代码示例 前言 Groovy 是动态语言 , Java 是静态语言 ; 本篇博客讨论 Groovy 中 , ...

最新文章

  1. 一文盘点10大移动端机器学习框架
  2. insert 语句常见问题
  3. py文件 添加模块映射_Python模块的定义,模块的导入,__name__用法实例分析
  4. Struts2工作原理详解
  5. 经验之谈:Linux运维工程师所需技能
  6. linux编译安装zabbix,Linux安装zabbix--CentOS7.3
  7. Spring-JdbcTemplate(注入到spring容器)-01
  8. 看到了一个 蒙特卡洛方法 随机数得出 圆周率的c++ 源码
  9. rest服务swagger_使用Swagger轻松记录您的Play Framework REST API
  10. Android Handler的使用方法
  11. 【opencv】【图像梯度】
  12. hdu 1507(最大匹配)
  13. java-背包的实现
  14. 程序猿必须要知道的一个内容:客户端+服务端二(源码解析、建议收藏)
  15. 电脑硬件知识学习_关于网络学习心得体会集锦七篇
  16. error500java_错误 500 java.lang.NoClassDefFoundError: com/lowagie/text/pdf/FontMapper
  17. matlab转子动力学视频分析,基于ANSYS经典界面的光盘轴的转子动力学分析(谐响应分析)...
  18. 将lrc批量转换为txt,同时删除时间标签
  19. 服务器执行MySQL耗时问题解决全过程
  20. JAVA_求最小公倍数

热门文章

  1. mysql中sysdate(),curdate(),curtime(),now()
  2. linux 编译链接出错,Qt编译和链接错误
  3. mysql数据库主从不同步_MySQL数据库之mysql主从数据库不同步的2种解决方法
  4. MysqL的root用户不允许远程连接
  5. kdj值应用口诀_KDJ买卖绝学!背熟它短线选股不用愁
  6. linux的ftp指令发邮件,三种使用Linux命令发送邮件
  7. arp协议的主要功能是_计算机网络之ARP协议
  8. centos7设置静态IP地址
  9. 给RABBITMQ发送消息时,设置请求头HEADER
  10. xss挖掘思路分享_XSS学习(三)挖掘思路