[c++11]左值、左值引用,右值,右值引用

  • 呱牛
  • 6962
  • C++
c++中引入了右值引用和移动语义,可以避免无谓的复制,提高程序性能,用的不多,每次看过了就忘了,整理下;
阅读全文

Windows端的java程序使用jni调用C++编写的库

Windows端的java程序使用jni调用C++编写的库,原来实现过在Android和Linux端通过JNI调用C++程序,在Windows端没有实现过,这里记录下几个关键的点;1、64位的dll工程,现在少有32位的平台,所以需要通过VisualStudio编译出64位的dll,注意属性页->C/C++->代码生成/运行库/选择多线程调试(/MTd),参考Linux编译选项的静态链
阅读全文

char *转换为string的陷阱:char*中包含较多的'\0'

  • 呱牛
  • 6729
  • C++
今天给团队调试一个错误,概率性的加密的数据没法做解密,现象是解密出来的结果和源数据长度不一致,很奇怪的现象,因为加密使用的数据是随机的,所以使得问题出现时表象是概率的问题;因为初次做加解密算法相关的项目,碰到这样的问题,首先是单步把解密流程过了一遍,发现解密没有问题,能正常的解密,但解密出来的长度就是不对,分析才发现加密后的数据的长度也不正常,所以考虑是加密源数据的问题,通过分析,才发现一个二进制
阅读全文

Python小练习

一个小工具,发现有一个开源的诗词库( https://github.com/michaelliao/shici/tree/master/web/src/main/resources/text  ),考虑导入到数据库中,诗词库是通过文件夹方式组织,所以用python发现很快的实现这个需求,主要功能包括递归枚举文件夹,然后将文件内容读出来写到数据库中。代码记录如下: 
阅读全文

你必须知道的编程语言分类

  • 瓜牛
  • 5730
我们习惯把编程语言分类为机器语言(汇编语言)和高级语言(Fortran/Lisp/Cobol/Basic/C/Pascal /C++/Java/Perl/Python),选择使用高级语言编程而不是机器语言相信大家都能说出一两个理由(比汇编语言更容易和更清晰的表达性、多平台的可移植性,但需要一个专用的编译器或者是解释器)。但网络上却没有一个指导你选择哪种高级语言作为你首要学习的语言,“你使用什么语言
阅读全文

我理解的MVP框架

  • 瓜牛
  • 5675
1、MVP框架说明MVP的通用解释如下:View 对应于Activity,负责View的绘制以及与用户交互;Model 负责处理数据的加载或者存储,比如从网络或本地数据库获取数据等;Presenter 负责完成View于Model间的交互,主要起到桥梁作用,是一个中间协调人的角色。从代码实现的角度,简单的来说MVP的关系,V调用P的方法来实现某个用户具体行为的操作(比方点击某个按钮代表的点赞),并
阅读全文

一个电话本中联系人名字搜索高亮的实现

  • 瓜牛
  • 5927
一个电话本中联系人名字搜索高亮的实现需求:实现电话本名字搜索功能的高亮实现,其中搜索支持中文、简拼、全拼搜索,对搜索匹配到的名字部分高亮显示。例如:名字:张向东全拼:zhangxiangdong简拼:zxd搜索匹配优先规则:中文(直接匹配)、简拼匹配、全拼匹配关键在全拼匹配上面,比方用户输入gd,则匹配向东两个字,同xiangdong的匹配项搜索功能通过数据库的搜索匹配实现,也就是输入是搜索的输入
阅读全文