自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 收藏
  • 关注

原创 C++11~20 常量表达式

C++98时代C++98编译器对int常量情有独钟,因为这是少数它能直接识别的东西。因为这个有限的能力,编译器就能够预先判定数组的大小了: TEST_METHOD(TestConstVar) { //int n = 3; const int n = 3; int a[n] = { 0 }; Assert::AreEqual(size_t(3), _countof(a)); const int m = n * 3; int b[m] = { 0 };...

2021-10-28 13:12:46 418

原创 C++20 三向比较

老兵作为一名在战场上出生入死多年的老兵,对于手中的武器C++,我有充分的理由相信自己已经对她身上的每一寸肌肤都了如指掌,直到有一天,我被下面的代码吓了一跳: struct Num { int a; long b; Num(int a_ = 0, long b_ = 0) :a(a_), b(b_) { } auto operator <=> (const Num&) const = default; };这是个...

2021-10-20 13:26:55 344

原创 C++的枚举类型

C的时代枚举类型在代码中直接写出来的常量,我们称之为“魔数”。例如:int week = 1;你说这个week是星期一,也有人说这个week应该是星期日。这玩意太容易引起歧义,让人摸不着头脑,如同莫名其妙的魔术,所以我们称之为“魔数”。问题的关键是我们应该给这个常量一个确切的名字:int monday = 1;这看起来好多了,不会引起歧义了,于是你愉快地继续写道:int monday = 1;int tuesday = 2;int wednesday = 3;..

2021-10-18 16:48:19 413

原创 循序渐进Srping源码-loadBeanDefinitions方法

loadBeanDefinitions这篇文章只讲一个方法:public int loadBeanDefinitions(String location, @Nullable Set<Resource> actualResources) throws BeanDefinitionStoreException { ResourceLoader resourceLoader = getResourceLoader(); if (resourceLoader == null) {

2020-11-07 07:10:16 226

原创 循序渐进Srping源码-自定义标签

循序渐进Srping源码-自定义标签Why自定义标签?不失一般性,先来个业务类User,为了去掉重复的工作,这个业务类已经最大程度的进行了化简:User类:public class User { private long id; private String name; ...}spring的IOC思想采用配置来描述业务中的类对象,我们可以用下面的xml配置得到3个User类的bean对象:<bean id="liubei" class...

2020-11-06 12:28:36 104

翻译 Query DSL - Wildcard Query

Wildcard Query通配符查询Returns documents that contain terms matching a wildcard pattern.返回与通配符模式匹配的词条的文档。A wildcard operator is a placeholder that matches one or more characters. For example, the * wi...

2020-02-08 10:41:34 835

翻译 Query DSL - Terms set Query

Terms set Query词条集查询Returns documents that contain a minimum number of exact terms in a provided field.返回字段中包含最少数目的精确词条的文档。The terms_set query is the same as the terms query, except you can define...

2020-02-08 10:24:16 595

翻译 Query DSL - Terms Query

Terms Query词组查询Returns documents that contain one or more exact terms in a provided field.返回字段中包含一个或多个确切词条的文档。The terms query is the same as the term query, except you can search for multiple valu...

2020-02-06 08:40:25 857

翻译 Query DSL - Term Query

Term Query词条查询Returns documents that contain an exact term in a provided field.返回指定字段中包含精确词条的文档。You can use the term query to find documents based on a precise value such as a price, a product ID,...

2020-02-06 08:01:31 269

翻译 Query DSL - Regexp Query

Regexp QueryReturns documents that contain terms matching a regular expression.返回包含与正则表达式匹配的词条的文档 。A regular expression is a way to match patterns in data using placeholder characters, called opera...

2020-02-05 07:45:25 468

翻译 Query DSL - Range Query

Range Query范围查询Returns documents that contain terms within a provided range.返回包含指定范围内词条的文档。Example requestThe following search returns documents where the age field contains a term between 10 and...

2020-02-05 06:27:06 640

翻译 Query DSL - Prefix Query

Prefix Query前缀查询Returns documents that contain a specific prefix in a provided field.返回在指定字段中包含特定前缀的文档。Example requestThe following search returns documents where the user field contains a term t...

2020-02-04 22:57:09 212

翻译 Query DSL - IDs

IDsid查询Returns documents based on their IDs. This query uses document IDs stored in the _id field.根据其ID返回文档。该查询使用存储在_id字段中的文档ID 。Example requesteditGET /_search{ "query": { "ids" : {...

2020-02-04 22:32:13 224

翻译 Query DSL - Fuzzy Query

Fuzzy Query模糊查询Returns documents that contain terms similar to the search term, as measured by a Levenshtein edit distance.返回包含与搜索词条相似的词条的文档(以Levenshtein编辑距离衡量)。An edit distance is the number of o...

2020-02-04 22:28:36 214

翻译 Query DSL- Exists Query

Exists Query存在查询Returns documents that contain an indexed value for a field.返回字段中包含索引值的文档。An indexed value may not exist for a document’s field due to a variety of reasons:由于多种原因,索引值可能不存在于文档的字段中:...

2020-02-04 20:37:24 1944

翻译 Query DSL - Disjunction max Query

Disjunction max Query分离最大得分查询Returns documents matching one or more wrapped queries, called query clauses or clauses.返回的文档与一个或多个包装查询匹配,也称为查询子句或子句。If a returned document matches multiple query clau...

2020-02-03 23:18:41 349

翻译 Query DSL - Constant score query

Constant score queryWraps a filter query and returns every matching document with a relevance score equal to the boost parameter value.包装过滤查询,返回的每个相关文档的相关性得分等于boost 参数的值。GET /_search{ "query":...

2020-02-03 21:29:40 263

翻译 Query DSL - Boosting Query

Boosting QueryReturns documents matching a positive query while reducing the relevance score of documents that also match a negative query.可以为返回的文档匹配一个positive查询和一个negative查询,positive查询对文档的相关性得分没有影响...

2020-02-03 20:49:24 322

翻译 Query DSL - Boolean query

BooleanBoolean queryA query that matches documents matching boolean combinations of other queries. The bool query maps to Lucene BooleanQuery. It is built using one or more boolean clauses, each cla...

2020-02-03 08:13:28 257

翻译 Query DSL - 查询和过滤上下文

Query and filter context查询和过滤上下文Relevance scores相关性得分By default, Elasticsearch sorts matching search results by relevance score, which measures how well each document matches a query.默认情况下,Elasti...

2020-02-03 07:33:42 221

翻译 Query DSL - Match all

Match allThe most simple query, which matches all documents, giving them all a _score of 1.0.最简单的查询,它匹配所有文档,使它们全部_score 为1.0。GET /_search{ "query": { "match_all": {} }}Copy as c...

2020-02-03 07:31:02 293

原创 Git-diff命令

Git diff命令文章目录Git diff命令Git diff命令的作用测试工程Git diff命令的格式比较工作区比较文件比较暂存区比较提交从公共祖先比较提交Git diff命令的作用diff命令的只有一句话:git-diff - Show changes between commits, commit and working tree, etc翻译一下就是git-diff—显示提交...

2019-09-13 19:03:31 857

原创 Git概述

Git概述分布式对集中式要学习Git当然要从Git的官网开始:Git官网简单的翻译一下这里的英文:Git是一个免费的开源分布式版本控制系统,它可以快速高效地处理从小型到大型的所有项目。Git易于学习,占用空间小,性能快如闪电。它超越了像Subversion、CVS、Perforce和ClearCase这样的配置管理工具,具有像廉价的本地分支、方便的暂存区和多个工作流这样的特性。这里...

2019-09-13 19:02:26 338

原创 用Scala实现有理数类

用Scala实现有理数类文章目录用Scala实现有理数类搭建Rational开发测试环境实现Rational类基础功能从构造函数开始实现基本运算实现最简分数实现操作符实现Rational类进阶功能实现逻辑运算对整数和实数的兼容测试Rational类测试算术运算Rational对象的相等性测试关系运算不算结束的结束Scala语言号称是集各家所长的下一代开发语言,特别是把面向对象编程和函数式编程连...

2019-09-08 15:09:49 236

原创 使用sbt搭建Scala开发测试环境

文章目录使用sbt搭建Scala开发测试环境前期准备安装IntelliJ IDEA安装Scala创建工程编写业务类编写测试类测试业务类使用sbt搭建Scala开发测试环境前期准备安装IntelliJ IDEA安装过程,略。安装ScalaScala官网安装过程非常简单,点击下载,把网页拉到最后:下载安装包,其实根本不需要安装,解压即可。如果windows系统,需要配置环境变量:...

2019-09-07 23:14:15 448

原创 Java类型信息之RTTI

软件工程的一个核心问题就是软件的复用和扩展。面向对象思想通过封装,继承,派生等机制有效地解决了这个问题。但需求总是变幻莫测,不可琢磨,在面向对象这栋恢宏的大厦旁,还漂浮着一朵乌云,从而导致了RTTI的登场。正是因为RTTI的存在,在软件世界里,无间道是会分分钟暴露的:1.缘起考虑一下面向对象思想发源地之一的CAD系统:package typeinfo._01_rtti;i...

2018-08-19 13:56:39 158

原创 用Qt Creator实现Qt对话框上的菜单

这里介绍了如何通过Qt Creator工具实现Qt对话框上的菜单,避免了纯代码实现的繁重工作量。

2016-07-30 13:24:33 3876

原创 用python自动生成代码

如何用用python解析简单的C++的头文件提取类的元数据,并据此结合模板自动生成代码。这里给出了一个简单的工作实例,希望对有相关需求的同学可以有所帮助。

2016-07-27 22:45:38 11309 1

原创 boost的property_tree组件

stl中对线性表有充分的实现,无论是vector还是list都是典型的线性表,即便是set和map,尽管实现上采用了诸如红黑树之类的树形结构,但那仅仅是为了快速检索的需要,从语义上来说它们依旧是线性表,无法表达目录树这种树形结构。boost中的property_tree可以看做是对树形结构实现的补充,我们大可把它扩展应用到各种需要树形结构的地方。

2014-12-29 21:45:05 18731

原创 什么是Perl?

Perl是我接触的第一个动态脚本语言,但其实上它的资历已经可以作为其它语言的祖母了,1987年,Larry Wall发布了Perl。那已经是20年前的事情了。在计算机世界,20年的时间已经好像是2个世纪以前那么久远了。下面列了一些常见的动态脚本语言的发布日期: 语言 发明人 发布时

2008-01-23 18:09:00 2290

原创 比较Java和C++的几个修饰符

     同样是支持面向对象的设计语言,Java和C++的一些修饰符都有共通的地方,但是由于设计理念的不同,这些修饰符也没有完全一样的。abstract修饰符:Java中的abstract修饰符语义是抽象性,主要的语法: 修饰一个类,表示这个类是抽象类,抽象类不能被实例化。这在C++中也有同样的概念,只不过C++声明一个抽象类是让类中的任意一个虚函数=0 修饰一个方

2008-01-19 03:00:00 1833

原创 比较Java和C++的访问控制语法

    继续上一篇的内容。其实写这种东西也挺没意思的,搞C++的一般不看这东西,搞Java的又觉得这东西太浅。而且这种文章又有教唆C++程序员学习Java或者Java程序员学习C++的嫌疑,容易被两家的坚定支持者反感。那也是实在没有办法的事情,我一直以为,要想了解一个人,最好的办法是从人家的角度思考问题。关于Java和C++的比较,当年那些Java设计者们也应该经过了一番仔细思索吧,那么就让我继续

2008-01-19 01:42:00 1263

原创 比较java和C++的面向对象语法

     打开《Java 核心技术》第一卷的第4章:对象和类,第5章:继承,第6章:接口和内部类。洋洋洒洒近150页,几乎集中了Java中面向对象语法的全部。不过凭借我在C++中浸淫这么多年的深厚功力,看起来还是相当轻松的:)这句话无疑是吹牛了,学习C++久了,我想人应该变得越来越谦虚才对。不过我还是提倡在枯燥的学习中多给自己一点自吹自擂的骄傲吧:)简单的封装:    面向对象最基本的

2008-01-16 18:16:00 2399 1

原创 Java的基本语法

    打开《Java 核心技术》第一卷第3章,都是些基本的语法要点,看起来没有什么难度,一路就下来了,也画了些笔记,不过都不值得一提了。 但是既然来了,总归要留下点什么吧,于是写了下面的几段代码。   Java数据类型的练习:import java.util.*;public class dataTypeTest {            /**     * Creates a ne

2008-01-15 16:37:00 1332 1

原创 还是Hello World

   翻开《Java 核心技术》第二章,怎么下载,安装JDK我就不啰嗦了。   Java的开发流程是: 用任意编辑工具写*.java源文件  用javac命令让java编译器把*.java源文件编译成*.class中间文件 用java命令让虚拟机加载运行*.class中间文件     第一个例子还是经典的Hello World:import

2008-01-15 16:16:00 910

原创 Java是什么?

    Java是一门语言,Java更是一个平台 。C++的语言设计者一个核心思想就是假定:程序员是足够聪明的。因此把C++的设计的足够的复杂,几乎接近了人类理解力的极限,其中更是充满了彼此矛盾需要仔细权衡的地方。作为一个合格的C++程序员,不仅仅要会使用各种武器,更重要的要学会自己制造这些武器,这就是一个特种兵和工程师的复合体啊,真的是过于困难了。而反观Java语言,恰恰是最初那些Java的创始

2008-01-15 15:47:00 1197

原创 开始学习Java了

    作为一个老资格的C++程序员,怎么也开始学习Java了 ?我最怕有人说:“没想到啊,原来你这个浓眉大眼的也背叛革命了”。其实这不能算是背叛吧,以前没有学,其实仅仅是没有时间,况且我也不可能彻底扔掉C++,我还不想一朝回到解放前。我学习Java可能更多的意义在于对C++和Java进行一些比较研究,算是补充知识的不足吧。现在Java都流行10年了,我才开始学,是有些晚了,这都要怪我的后知后觉,

2008-01-15 14:50:00 773

原创 函数的重载

在面向过程的编程模式下,程序被划分为数据结构+函数,这也就是那句著名的"程序=数据结构+算法"的由来在面向过程的思考方式下,函数名就是最好的标识,而名称组织良好的函数集合是判断代码是否优美的一个重要因素在面向对象的思考方式下,一切都不同了常见的情况下,应该为不同的函数起不同的名字,但是当这些函数要完成相同的功能而仅仅是要处理的参数类型不同时,根据完成的功能而给这些函数一个相同的名字反到更符

2007-05-17 10:05:00 1292

原创 C++中的临时变量

C++的临时变量 它们是被神所遗弃的孩子,没有人见过它们,更没有人知道它们的名字.它们命中注定徘徊于命运边缘高耸的悬崖和幽深的深渊之间,用自己短暂的生命抚平了生与死之间的缝隙.譬如朝露,却与阳光无缘.是该为它们立一座丰碑的时候了,墓铭志上写着:我来了,我走了,我快乐过. 许多人对临时变量的理解仅仅限于: string temp; 其实,从C++的观点来看,这根本就不是临时变量,而是局部变量. 

2007-04-29 23:06:00 1796

原创 C++中的const

关键字const是单词"constant"的简写,它的语意就是"保持不变,不允许修改".const在C++的代码中是大量存在的,个人认为,const是C++中提供的最优美的机制首先它足够的简单:对程序员来说,语意简单,就是保持不变,很少会有歧异对计算机来说,实现简单,只需要编译器报告那些改变了const的例外情况其次它足够的高效:对程序员来说,它为程序员提供了一个非常常用的契约,减少了错误发生

2007-04-29 23:05:00 1316 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除