摘要:
C++中的虚函数总结一、什么是虚函数、纯虚函数、抽象基类 虚函数:在某基类中声明为 virtual 并在一个或多个派生类中被重新定 义的成员函数。 纯虚函数:是一种特殊的虚函数,使用virtual关键字,并且在其后面加上=0。 抽象基类:在基类中加入至少一个纯虚函数,使基类成为抽象类。二、为什么要使用虚函数 在理解这个问题前,就必须要理解什么是晚捆绑。 晚捆绑是相对于早捆绑而言的,那么什么又是捆绑呢?把函数体与函数调用相联系称为捆绑,当捆绑在程序运行之前完成时,这称为早捆绑。那么当捆绑根据对象的类型,发生在运行时,就称为晚捆绑。 而使用晚捆绑,无需检查对象的类型,只需要检查对象是否...
阅读全文
posted @ 2013-11-17 10:46
HackerVirus
阅读(343)
推荐(0)
摘要:
C# 多线程学习总结C#多线程学习(一) 多线程的相关概念什么是进程? 当一个程序开始运行时,它就是一个进程,进程包括运行中的程序和程序所使用到的内存和系统资源。而一个进程又是由多个线程所组成的。什么是线程? 线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共享的,即不同的线程可以执行同样的函数。什么是多线程? 多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行不同的任务,也就是说允许单个程序创建多个并行执行的线程来完成各自的任务。多线程的好处: 可以提高CPU的利用率。在多线程程序中,一个线程必须等待的时候,CPU可以运行
阅读全文
posted @ 2013-11-17 10:42
HackerVirus
阅读(193)
推荐(0)
摘要:
在TDD的实践中,总是要考虑类的依赖项的透明性(Transparent)和不透明性(Opaque),进而采用合理的方式提高代码的可测试性。不透明依赖我们先看段前置条件代码,以供后文使用。 1 public interface IUserProvider 2 { 3 IList GetUserCollection(); 4 } 5 6 public class UserProvider : IUserProvider 7 { 8 public IList GetUserCollection() 9 {10 return new List(...
阅读全文
posted @ 2013-11-17 10:39
HackerVirus
阅读(267)
推荐(0)
摘要:
构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(6)-Unity 2.x依赖注入by运行时注入[附源码]Unity 2.x依赖注入(控制反转)IOC,对于没有大项目经验的童鞋来说,这些都是陌生的名词,甚至有些同学还停留在拉控件的阶段。您可以访问http://unity.codeplex.com/releases得到最新版本的Unity现在。当然,如果您在您的visual studio 中安装了Nuget 包管理器,你可以直接在Nuget中获取到最新版本的Unity。貌似最新是3了,第5讲我们糟糕的代码演示了接口如何用这里http://unity.code
阅读全文
posted @ 2013-11-17 09:26
HackerVirus
阅读(291)
推荐(0)
摘要:
大端和小端2013-11-15 13:07 by soar.,446阅读,1评论,收藏,编辑 在计算机中是以字节为单位,每个地址对应一个字节,一个字节8bit。在C中,除了8bit的char以外,还有16bit的short,32位的int,64位long,当然具体要由编译器决定,可以通过sizeof来获取不同类型在内存中占用的字节数。在计算机系统中,当物理单位的长度大于1个字节时,就要区分字节顺序。常见的字节顺序有两种:Big Endian(High-byte first)和Litter Endian(Low-byte first),当然还有其他字节顺序,但不常见,例如Middle Endi.
阅读全文
posted @ 2013-11-16 23:50
HackerVirus
阅读(998)
推荐(0)
摘要:
Google C++测试框架系列:入门原始链接:V1_6_Primer注GTest或者Google Test: Google的C++测试框架。Test Fixtures: 这个词实在找不到对应的中文。Bug: 太常用了,不翻译。House keeping chores: 家常事务。指非核心的编码工作,比如测试代码的assert, log以及用例管理等工作。set-up/tear-down: 指运行测试前的准备和之后的清理工作。test case: 测试用例,管理测试的单位,一个测试用例可以包含一个或多个测试。在阅读之前,推荐阅读《为什么有如此多的C++测试框架 - from Google Te
阅读全文
posted @ 2013-11-16 23:44
HackerVirus
阅读(321)
推荐(0)
摘要:
随机森林中的数学基础之大数定律摘要:随机森林与决策树的一个显著的不同点就是它不会产生过度拟合。它的理论依据就是大数定律。很熟悉的一个名词:大数定律,记得本科的概率论就有学,忘了差不多了,下面先复习下。大量试验说明,随机事件A的频率R(A),当重复试验的次数n增大时,总呈现出稳定性,稳定在某一个常数的附件,意指数量越多,其平均值就越趋近与期望值。一:大数定律回顾切比雪夫定理:设 a1,a2,a3,…,an 为相互独立的随机变量,其数学期望为:E(ai)=, 及方差D(ai)=则序列收敛于u,即在定理条件下,当n无限变大时,n个随机变量的算术平均将趋于一个常数。辛钦定理(切比雪夫的特殊情况):设a
阅读全文
posted @ 2013-11-16 23:43
HackerVirus
阅读(1399)
推荐(0)
摘要:
K-means Algorithm在监督学习中,有标签信息协助机器学习同类样本之间存在的共性,在预测时只需判定给定样本与哪个类别的训练样本最相似即可。在非监督学习中,不再有标签信息的指导,遇到一维或二维数据的划分问题,人用肉眼就很容易完成,可机器就傻眼了,图(1)描述得很形象。但处理高维度的数据,人脑也无能为力了,最终还是得设计算法让机器来完成。如何将所有样本分成若干个类簇(cluster),并且每个类簇中的样本具有更高的相似度,这就是聚类分析算法的终极目标。这里以最经典的K-means算法为切入点进行说明。 K-means算法的目标是将m个样本组成的集合X={x(1),x(2),⋯,x(m)
阅读全文
posted @ 2013-11-16 23:35
HackerVirus
阅读(1607)
推荐(1)
摘要:
Bootstrap3.0学习第二十四轮(JavaScript插件——按钮)前言阅读之前您也可以到Bootstrap3.0入门学习系列导航中进行查看http://www.cnblogs.com/aehyok/p/3404867.html本文主要来学习一下JavaScript插件--按钮。按钮按钮可以完成很多工作。控制按钮状态或创建按钮组可以产生类似工具条之类的复杂组件。状态通过添加data-loading-text="正在加载..."可以使按钮呈现加载状态。 Loading state不过如果想启用加载的状态,还需要在点击按钮的时候进行手动启动。 上面的JavaScript代
阅读全文
posted @ 2013-11-16 23:31
HackerVirus
阅读(646)
推荐(0)
摘要:
分布式系统设计(8)再回忆一下我们前面介绍的几节:第一节介绍数据分布方式:http://www.cnblogs.com/jacksu-tencent/p/3405680.html第二节介绍副本控制协议:http://www.cnblogs.com/jacksu-tencent/p/3407712.html第三节介绍基于Lease的分布式cache系统:http://www.cnblogs.com/jacksu-tencent/p/3409646.html第四节介绍Lease机制本质以及判断节点状态:http://www.cnblogs.com/jacksu-tencent/p/3415529.
阅读全文
posted @ 2013-11-16 23:29
HackerVirus
阅读(317)
推荐(0)