头文件PStash.h /** * 书本:[ThinkingInC++] * 功能:pointer Stash的头文件 * 时间:2014年10月5日14:33:15 * 作者:cutter_point */ #ifndef PSTASH_H_INCLUDED #define PSTASH_H_INCLUDED class PStash { int quantity; //内部定义的数据类型的存储块的个数 int next; //下一个空的空间的位置 void** storage; //指向一个…
转自:http://www.blogjava.net/changedi/archive/2012/04/15/374226.html vlist是一种列表的实现.结构如下图: (图来源wikipedia) 类似链接表的结构,但是,不是线性的.它的结构基于一种2的幂次扩展,第一个链接节点包含了列表的前一半数据,第二个包含了剩下一半的一半,依次递归.节点的基本结构不像LinkedList的节点是双端队列,每个VListCell包含了下个节点的指针mNext和前一个节点的指针mPrev,同时内置一个数…
近几天使用 python 与 c/c++ 程序交互,网上有推荐swig但效果都不理想,所以琢磨琢磨了 python 的 ctypes 模块.同时,虽然网上有这方面的内容,但是感觉还是没说清楚.这里记录下来做备用,同时也给广大 python with c/c++ 派留给方便.如果你觉得我写的不好,可以参考官方文档里对 ctypes 的介绍,那里说不一定有你想要的. 如有错误,请指正:). 测试环境: win 8.1,   Visual Studio 2010,   Python 3.5 一.介绍…
最近尝试合并一个托管在Windows的Stash系统中的pull request时,发现合并按钮被禁用,显示有冲突不能合并,但是在diff页面中没有现实冲突,而且代码实际上并没有任何冲突. 后来在这篇官方文档中了解到实际上是由于Windows限制了包含路径的字符数最大限制是260个字符. 由于Stash是调用Git,Git使用了Windows API,因此这个问题的解决办法就是将提交的代码中超过260个字符的文件,文件夹都删掉,或者移动到上层,减少路径的字符数. 所有在Windows环境中使用的…
给一个div 绑定一个 click事件,  苹果手机会识别不了,必须添加一个 cursor:pointer 才能 识别可以点击.安卓正常识别.…
A linked list is given such that each node contains an additional random pointer which could point to any node in the list or null. Return a deep copy of the list. 这道链表的深度拷贝题的难点就在于如何处理随机指针的问题,由于每一个节点都有一个随机指针,这个指针可以为空,也可以指向链表的任意一个节点,如果我们在每生成一个新节点给其随机指…
在开发过程中,大家都遇到过bug,并且有些bug是需要紧急修复的. 当开发人员遇到这样的问题时,首先想到的是我新切一个分支,把它修复了,再合并到master上. 当时问题来了,你当前正在开发的分支上面,还有未提交的代码,你又不想把代码提交了,怎么办呢? git提供了stash功能,把当前工作目录现场给存储起来,等修复完bug,再切回来. 比如,我当前在dev分支上,我修改了hello.py文件 wangkongming@Vostro ~/babytree/github/test_git $ gi…
问题起源 在使用Qt框架的时候, 经常发现一些构造函数 *parent = 0 这样的代码. 时间长了, 就觉的疑惑了. 一个指针不是等于NULL吗? 这样写, 行得通吗? 自己测试一下就可以了. 测试代码 #include <iostream> using namespace std; int main() { int * npt = 0; if( 0 == npt ){ cout << "npt == 0" << endl; ///< 输出…
git stash用于将当前工作区的修改暂存起来,就像堆栈一样,可以随时将某一次缓存的修改再重新应用到当前工作区. 一旦用好了这个命令,会极大提高工作效率.   直接举例说明: 1.准备工作,首先初始化一个git仓     随便建立一个目录,进去,然后使用 :     $: git init .     添加一个文件:     $: touch hello     $: git add .     $: git commit -m "first add"   2.暂存当前修改内容(gi…
Reference与Pointer中直接存储的都是变量的地址, 它们唯一的不同是前者的存储的地址值是只读的, 而后者可以修改. 也就是说Reference不支持以下操作: *a = b 其他语言, 如Javascript, Python, Java, 中的object, 它们对应的变量也都是直接存储对象的地址, 也是不能修改的. 所以, Reference是众多语句共有的特性, 而Pointer是C与C++独有的.…