C++ 的三种实现接口的方式 传统 interface想要实现 interface,在绝大多数 OOP 语言中,会被认为只有一种。如 java 和 C# 的 interface specifier,C++ 的 pure virtual function。通常接口类中强制的不能拥有实现,继承接口的子类至少享有两个名字,一个是自身定义的命名,一个是接口名。通常子类转父类(up-cast)在编译期(compile-time)决定,父 2016-03-11 未分类 #C++
Swift之AnyClass与动态类型 这次写一下关于Swift中AnyClass的使用以及动态类型的实例化和使用场景 AnyClass与AnyObjectSwift中,任何自定义的对象都是AnyObject的子类,类似于Java的Object类(但注意,这和Objective-C的NSObject不同,后者在Swift中是专门的UIKit或者AppKit框架里面定义的类型,而非语言所规定的类型) AnyClassThe prot 2015-12-26 未分类 #Swift
我对C++的编程思考 我最近想要这样一个分享平台:它既可以作为我的笔记工具,记录一些文字不太多又不太少的技术知识,又可以作为一个社交平台让别人认识我,让我可以装逼。微博限制字数,朋友圈也不太合适,于是我还是在博客里开一个以后可能会继续更新的文章。现在 I++ 里的博文只有我在做 C++ 的分享,以后如果有人做同样的事情,甚至写了同名的文章,那就可能要给这整个博客做点修改了,比如在博客的 timeline 上加上作者头像 2015-12-23 未分类 #C++
React-Native -- 下一代UI开发思维 React 与状态React.js自从Facebook一推出,就受到Web前端工程师的强烈推崇。虽说曾经火过一时的Angular.js颠覆了前端的工程,但是React更多颠覆的,是下一代UI编程的思维。 传统UI编程,基本很多地方都需要将数据来源,绑定到对应的UI对象,比如用户点击了一个操作,更改了名称,那么你需要更新执行一个回调函数来处理点击操作,并且把新的数据更新原有的UI对象的属性,比如大概 2015-11-05 未分类 #React-Native #IOS #Javascript #Swift
Random Binary Search Tree - Treap BST插入顺序与平衡性众所周知,二查搜索树(BST)的搜索、插入、删除的复杂度等于树高,所以平衡度越高,越接近$ O(nlogn) $,越有序越退化为$ O(n) $ …………………… 对于左侧的BST来说,只有唯一的构造序列:$ <1,2,\dots,14> $ 但对于右侧的BST,可以存在21964800种不同序列 也就是说,随即插入序列到二叉树所形成的平衡度,将大于部分有序插 2015-11-03 未分类 #数据结构
用 C++ 写一个 Inet4Address 类 Inet4Address 在 .net 和 facebook/folly 中也叫做 IPAddress。(顺便黑一下,muduo 中居然把 SocketAddress 叫做 InetAddress 真是有失偏颇。 构造ip地址 ip 地址的构造,比较麻烦的地方就是网络序和主机序之间的问题。 我们的 raw ipv4 address 存储在一个 uint32_t 的整数中,按照 lin 2015-11-01 未分类 #C++
Implementing an unique_ptr 事实证明实现一个 unique_ptr 对其原理的认知并没有什么提升。 为了简便,我们只实现 single object 版本,不实现存储 array type 的 unique_ptr。 我们首先要对 UniquePtr 的定义进行声明: 12template<class T, class D>class UniquePtr { T 是 UniquePtr 所存储的指针 2015-10-04 未分类 #C++