#include <iostream> using namespace std; int main() { using cullptr = const unsigned long long *; //C++11新变量类型long long;constexpr unsigned long long * 为非法 typedef wchar_t * wchptr; /* 使用using或typedef声明的类型别名的变量实例初始化时,不同类型变量不可使用","写在同一行 如://…
常量表达式函数 要求: 函数体内只有单一的return返回语句 例如: constexpr int data() { const int i=1; //含有除了return以外的语句 return i; } 在c++11中是无法通过编译的. 但使用不会产生实际代码的语句是可以的,例如static_assert() 函数必须返回值 例如constexpr void f(){}无法通过编译的,因为无法获得常量的常量表达式是不被认可的. 在使用前必须已有定义 constexpr int f(); co…
之前工作中开发/维护的模块大多都是 "远古代码",只能编译 C++98,很多 C++11 的特性都忘得差不多了,再回顾一下 右值引用&转移语义: 消除两个对象交互时不必要的对象拷贝,节省运算存储资源,提高效率: 能够更简洁明确地定义泛型函数. https://www.ibm.com/developerworks/cn/aix/library/1307_lisl_c11/ 委托构造函数: 在一个构造函数中调用另外一个构造函数,这就是委托的意味,不同的构造函数自己负责处理自己的不同…
说到类型别名,无非是给类型名(如int,char,float,double,bool)取一个比较有特殊含义的名字而已 最常用的关键莫过于 typedef 吧 typedef最常见的用法是与结构体struct连用,这是C语言的语法,C++已经不这样用了(或者很少这样用). 在C语言中声明结构体常用以下格式: typedef struct Name1{ elemtype ElemName; }Name2,Name3; 其中Name1为结构体名,同时它还有两个‘外号’:Name2,Name3.这是因为…
ubuntu 16.04 自带gcc 5.4 支持c++11 ubuntu 18.04 自带gcc 7.3 支持c++14 查看编译器支持: c++11 c++14 c++17 c++11 feature nullptr/constexpr enum class auto/decltype for iteration initialize_list lamda template rvalue/move nullptr 以前的编译器实现,可能会把NULL定义为0.所以,当你有两个同名函数foo(i…
前言 typing 是在 python 3.5 才有的模块 前置学习 Python 类型提示:https://www.cnblogs.com/poloyy/p/15145380.html 常用类型提示 https://www.cnblogs.com/poloyy/p/15150315.html 类型别名 可以将复杂一点类型给个别名,这样好用一些 变量栗子 # 别名 vector = List[float] var: vector = [1.1, 2.2] # 等价写法 var: List[flo…
在TypeScript中,为了可以约束对象定义,提供了两个新的特性,接口和类型别名. TypeScript中的接口 在强类型语言中,都有接口的概念,那么TypeScript中的接口是如何使用的呢? 接口定义形式如下: interface test { name: string, value: number } 上述接口,定义了一个test接口,该接口可以约束两个字段的数据类型,分别是name和value.而接口的使用主要有三个方面:实现.继承和约束. 实现接口 通过用类来实现接口,就实现了接口约…
在学C/C++  Java等强类型语言时,变量类型是唯一的,需要先指定.PHP JavaScript等弱类型语言时,无需指定变量类型 但是,TypeScript里面的联合类型 (Union Type) 和字面量类型 (Literal Type),为了真香定律,还是琢磨下 类型别名 类型别名用来给一个类型起个新名字,使用 type 创建类型别名,类型别名常用于联合类型. type nameStr = string; type nameArr = string[]; type nameType = …
在使用mybatis过程中经常用到类型别名,除了我们自己新建的别名外,mybatis还自带了很多类型别名和java中的类型的映射,下面先看一个自建的别名的配置 <typeAliases> <typeAlias type="com.cn.entity.User" alias="User"/> </typeAliases> 在mybatis的配置文件中配置了此别名后我们就可以使用了,如以下情况下, resultType="U…
原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/6705769.html 1.回顾 前面几篇讲了数据源模块,这和之前的事务模块都是environment中的组成部分,而Environgment是Configuration的基础部分,是构建Configuration的基石,但是有了基石只是能构建一个简单的配置对象,要适应实际的使用环境,还需要额外的组件,这些东西都需要添加到配置对象中,这一次就介绍类型模块-Type. 类型模块的具体内容基本…