string类

第58课.类模板的概念和意义

无人久伴 提交于 2019-12-09 15:32:07
1.c++中的类模板 a.以相同的方式处理不同的类型 b.在类声明前使用template进行标识 c.< typename T >用于说明类中使用的泛指类型T template < typename T> class Operator { public: T op (T a, T b); }; 2.类模板的应用 a. 只能显示指定具体类型,无法自动推导 b.使用具体类型 定义对象 Operator<int> op1; Operator<string> op2; int i = op1.op(1, 2); string s = op2.op("kun", "123"); 注: a.声明的泛指类型T可以出现在类模板的任意地方 b.编译器对类模板的处理方式和函数模板相同  1).从类模板通过具体类型产生不同的类  2).在声明的地方对类模板代码本身进行编译  2).在使用的地方对参数替换后的代码进行编译 eg: #include <iostream> #include <string> using namespace std; template < typename T > class Operator { public: T add (T a, T b) { return a + b; } T minus(T a, T b) { return a - b; } T multiply(T

Linux下操作Redis类(基于hiredis接口)

耗尽温柔 提交于 2019-12-07 12:15:06
选择Redis作为NoSql数据库的几点考虑: 数据全部存储至内存中,相对操作数据库(写磁盘)而言读写速度快且支持并发量高 支持持久化,AOF&RDB持久化机制可以避免由一些不可控因素导致的数据丢失问题(如:断电) 二进制安全,可支持存储二进制数据(如:自定义的数据包结构体和图片等信息) 支持数据类型多样,字符串、列表、集合、有序集合等对象可完全满足业务系统的数据存储要求 Redis3.0开始支持分布式集群,不用再使用twemproxy+redis组合来实现集群,安装配置简单,功能强大。 Redis中重要宏定义及结构体介绍: struct redisContext结构体 /* redisConnect()函数返回结构体,代表该Redis的连接句柄 */ typedef struct redisContext { int err; /* Error flags, 0 when there is no error */ char errstr[ 128 ]; /* String representation of error */ int fd; int flags; char *obuf; /* Write buffer */ redisReader *reader; /* Protocol reader */ } redisContext; struct redisReply结构体

Thread类

五迷三道 提交于 2019-12-06 17:38:27
一、线程的编写方式 ①继承Thread类 ②实现Runnable接口( 推荐使用 ,JAVA是单继承,如果该类已经继承了一个类了,那么就只能使用实现接口的方式) class MyThread extends Thread{ @Override public void run() { System.out.println("继承Thread类"); } } class MyRunnable implements Runnable{ @Override public void run() { System.out.println("实现Runnable接口"); } } public class Test{ public static void main(String[] args) { MyThread myThread=new MyThread(); myThread.start(); Thread thread=new Thread(new MyRunnable()); thread.start(); System.out.println("main end"); } } 结果: 二、this和Thread.currentThread()各种方法的区别 this:当前 对象 Thread.currentThread():当前 线程 ① currentThread() class

加解密总结(附助手类)

好久不见. 提交于 2019-12-06 15:23:06
对称加密算法:DES、AES、IDEA、RC2、RC4、SKIPJACK…… 加解密使用相同密钥,这个是对称加密。对称加密优点是速度快 非对称加密算法:RSA、DSA、DH、ECC、EL GAMAL…… 公钥加密数据,然后私钥解密的情况被称为加密解密; 因为公钥加密的数据只有它相对应的私钥可以解开,所以你可以把公钥给人和人,让他加密他想要传送给你的数据,这个数据只有到了有私钥的你这里,才可以解开成有用的数据,其他人就是得到了,也看懂内容 实际应用中,一般都是和对方交换公钥,然后你要发给对方的数据,用他的公钥加密,他得到后用他的私钥解密,他要发给你的数据,用你的公钥加密,你得到后用你的私钥解密,这样最大程度保证了安全性. 缺点速度慢 Hash算法:MD5、SHA1、SHA256…… 无论消息有多长,计算出的摘要长度都是固定的,MD5没有SHA算法安全 数字签名: 私钥签名和公钥验证签名;RSA可以用来做签名、验签 如果你用你的私钥对数据进行签名,那这个数据就只有配对的公钥可以解开,有这个私钥的只有你,所以如果配对的公钥解开了数据,就说明这数据是你发的,相反,则不是.这个被称为签名。数字签名的意义就是这些数据与原文数据比对是否修改过。 CA证书如何保证网站数据安全: 网站向CA机构申请证书,网站方提供网站信息及公钥给CA机构,CA机构使用自己的私钥对公钥签名,以防篡改。

asp.net core 模型验证扩展类

时光怂恿深爱的人放手 提交于 2019-12-06 14:14:21
/// <summary> /// 聚合扩展方法类 /// </summary> public static class Exts { #region [ 得到模型错误消息 NonAction Task<string> ModelStateMsg(ModelStateDictionary modelState) ] /// <summary> /// 得到模型错误消息 /// <code> /// <![CDATA[ /// if (ModelState.IsValidOK(out string errmsg)) /// { /// return await Service.GetLiveVodAndVideoProductList(CurrentUserTicket.ID.ToLong(), param); /// } /// else /// { /// return new ResponsePageResult<ProductVodOrVideoResult> { errno = 1, errmsg = errmsg }; /// } /// ]]> /// </code> /// </summary> /// <param name="modelState"></param> /// <param name="errmsg">返回的错误消息</param> ///

C# AE 通过要素类工作空间将shp路径string类型对象转换为IFeatureClass;

こ雲淡風輕ζ 提交于 2019-12-06 09:59:42
IWorkspaceFactory pWorkspaceFactory = new ShapefileWorkspaceFactoryClass();//打开shapefile工作空间 openFileDialog1.Filter = ("shapefile文件(*.shp)|*.shp");//文件过滤 openFileDialog1.InitialDirectory=@"C:\Program Files\ARCGIS\GIS-Data";//默认路径吧 openFileDialog1.Multiselect = false;//只能单选 DialogResult pDialogResult = openFileDialog1.ShowDialog(); if (pDialogResult != DialogResult.OK) return;//如果没点击确认 ,返回 string pPath = openFileDialog1.FileName;//获得文件的路径 string pFloder = Path.GetDirectoryName(pPath);//得到文件所在的文件夹位置 string pFileName = Path.GetFileName(pPath);//得到文件名 IWorkspace pWorkspace = pWorkspaceFactory

实验七--类和对象(2)

泪湿孤枕 提交于 2019-12-06 09:55:11
1. 【问题描述】 自定义一个日期时间类DateTimeType,它含有类DateType与类TimeType的类对象作为其数据成员,并具有所列的其他几个成员函数。而后编制主函数,说明DateTimeType的类对象,并对其成员函数以及二对象成员所属类的公有成员函数进行使用。 class DateTimeType { //自定义的日期时间类 DateTimeType DateType date; //类 DateType 的类对象 date 作为其数据成员 TimeType time; //类 TimeType 的类对象 time 作为其另一个数据成员 public: DateTimeType(int y0=1, int m0=1, int d0=1, int hr0=0, int mi0=0, int se0=0); //构造函数,设定 DateTimeType 类对象的日期时间,并为各参数设置了默认值 DateType& GetDate(){ return date; } //返回本类的私有数据对象 data TimeType& GetTime(){ return time; } //返回本类的私有数据对象 time void IncrementSecond(int s); //增加若干秒,注意“进位”问题 void PrintDateTime(); /

StringUtils中isEmpty的用法

落爺英雄遲暮 提交于 2019-12-06 07:56:29
isEmpty 等价于: str == null || str.length == 0 isBlank 等价于: str == null || str.length == 0 || str.trim().length == 0 StringUtils方法的操作对象是java.lang.String类型的对象 StringUtils中一共有130多个方法,并且都是static的,所以我们可以这样调用StringUtils.xxx() 来源: https://www.cnblogs.com/python924/p/11969801.html

23.Java基础_ArrayList类

隐身守侯 提交于 2019-12-06 06:44:07
ArrayList类的构造和使用方法 1 import java.util.ArrayList; 2 public class test { 3 public static void main(String[] args) { 4 ArrayList<String> array=new ArrayList<>(); 5 System.out.println(array); //[] 6 //add 加到末尾 7 array.add("hello"); 8 array.add("world"); 9 array.add("java"); 10 System.out.println(array); //[hello, world, java] 11 //add 插入 12 array.add(0,"javase"); 13 System.out.println(array); //[javase, hello, world, java] 14 } 15 } ArrayList类常用方法: 来源: https://www.cnblogs.com/NiBosS/p/11966272.html

正则表达式(封装的验证类)

北战南征 提交于 2019-12-06 03:17:04
public class Validator { #region 匹配方法 /// <summary> /// 验证字符串是否匹配正则表达式描述的规则 /// </summary> /// <param name="inputStr">待验证的字符串</param> /// <param name="patternStr">正则表达式字符串</param> /// <returns>是否匹配</returns> public static bool IsMatch(string inputStr, string patternStr) { return IsMatch(inputStr, patternStr, false, false); } /// <summary> /// 验证字符串是否匹配正则表达式描述的规则 /// </summary> /// <param name="inputStr">待验证的字符串</param> /// <param name="patternStr">正则表达式字符串</param> /// <param name="ifIgnoreCase">匹配时是否不区分大小写</param> /// <returns>是否匹配</returns> public static bool IsMatch(string inputStr, string