C++是强类型语言,所有强类型语言对型别的要求都是苛刻的,型别一有不合编译器就会抱怨说不能将某某型别转换为某某型别,当然如果在型别之间提供了转换操作符或是标准所允许的一定程度的隐式转换(如经过非explicit构造函数创建临时变量的隐式转换或是在int,long这些基本型别间的)又另当别论.总的说来,为了保持型别安全,C++有严厉的要求.然而有时候程序员可能有这样的需要: int i; iong j; X x; //假设X为用户定义的类 any anyVal=i; ... //use anyVa…
在boost库中,any是一种特殊容器,只能容纳一个元素,但这个元素可以是任意的类型----int.double.string.标准容器或者任何自定义类型.程序可以用any保存任意的数据,也可以在任何需要的时候取出any中的数据.any类目前已经加入到c++17标准中,在vs2017中include<any>头文件即可使用. vs2017里的标准库any的头文件最后有句提示: #pragma message("class any is only available with C++1…
前言: 重要,RestTemplate在SpringBoot项目里即便通过HttpMessageConverters添加了Fastjson且优先级比jackson要高也不会在RestTemplate里生效 ,换句话说RestTemplate如果要使用Fastjson还是要对RestTemplate进行额外配置,而不是在SpringBoot项目里配置了类型是HttpMessageConverters的Bean就可以了: 方式可以参考:https://www.jianshu.com/p/c96447…
泛型 泛型是jdk1.5使用的新特性  泛型的好处:   1. 将运行时的异常提前至了编译时    2. 避免了无谓的强制类型转换 泛型在集合中的常见应用:    ArrayList<String>  list = new ArrayList<String>();  true     推荐使用以下两种写法主要是为了兼顾新老系统的兼用性问题. ArrayList<String>  list = new ArrayList();     true    ArrayList …
在c#中,有时候我们会编写类似这样的代码: public class a<T> { //具体类的实现 } public class b : a<string>{} 如果b继承a的类型不确定,这个时候我们是无法通过baseType来直接判断b是否继承于a的. 如果我们写如下代码: typeof(b).baseType == typeof(a) 返回值是false. 因为typeof(b).baseType返回的类型是a`1[System.String],而typeof(a<&g…
一.枚举类编写ResponseCode package com.boulderaitech.common; /** * 编写枚举类的步骤 * (1)编写所需的变量 * (2)编写枚举类构造方法 * (3)编写枚举的值,调用构造方法,使用逗号隔开 * (4)编写方法获取枚举类中对应的值 */ public enum ResponseCode { //(3)编写枚举的值,调用构造方法,使用逗号隔开 SUCCESS(0,"SUCCESS"), ERROR(1,"ERROR"…
return语句终止当前正在执行的函数并将控制权返回到调用该函数的地方.return语句有两种形式: return; return expression; 无返回值函数 没有返回值的return语句只能用在返回类型是void的函数中.返回void的函数不要求非得有return语句,因为在这类函数的最后一句后面会隐含地执行return. 通常情况下,void函数如果想在它的中间位置提前退出,可以使用return语句.return的这种用法有点类似于我们用break语句退出循环. 一个返回类型是vo…
一.函数基础1.形参和实参 实参是形参的初始值.第一个实参初始化第一个形参,第二个实参初始化第二个形参,以此类推.尽管实参与形参存在对应关系,但是并没有规定实参的求值顺序.编译器能以任意可行的顺序对实参求值. 2.函数返回类型 函数的返回类型不能是数组类型或函数类型,但可以是指向数组或函数的指针. 3.局部对象 对于普通局部变量对应的对象来说,当函数的控制路径经过变量定义语句时创建该对象,当到达定义所在的块末尾时销毁它.我们把只存在于块执行期间的对象称为自动对象.如果自动对象变量定义时本身不含初…
[无返回值函数] 1.在c++的void函数中,可以显式地使用return;语句来提前结束函数的调用. [有返回值函数] 1.值是如何被返回的:返回一个值的方式和初始化一个变量或者形参的方式完全一样. 2.不要返回局部对象的引用或指针. 3.返回类类型的函数和调用运算符:调用运算符的优先级和点运算符.箭头运算符相同,且满足左结合律. 4.引用返回左值!其他返回类型得到右值,具体而言: char &get_val(string &str, string::size_type ix) { re…
在项目中通常需要为前端设计通过的返回类,返回的格式为: { "status": "success", "data": {...} } 定义通过返回类:CommonReturnType /** * 通用返回结果类 * 包含请求结果 status : "success" or "failed" * 包含请求数据 data : {} */ public class CommonReturnType { // 表明…