12 2017 档案
indexing and hashing
摘要:二级索引必须是稠密索引 满足如下特性: 1.平,层数相同 2.半,装载因子过半 3.序,有序树,同一层有序 叶节点数据项分裂为n/2向上取整 非叶节点分裂为(n+1)/2向上取整,之后的那个节点上升
阅读全文
c++四种强制类型转化
摘要:c++ 数据类型转换: static_cast dynamic_cast reinterpret_cast const_cast C++ 类型转换(C风格的强制转换): (1)将浮点型数据赋值给整型变量时,舍弃其小数部分。 (2)将整型数据赋值给浮点型变量时,数值不变,但是以指数形式存储。 (3)将
阅读全文
c++中的构造(包括移动),赋值(包括移动),析构详解
摘要:这五种操作:构造(包括移动),赋值(包括移动),析构其实就是定义了对一个对象进行构造,赋值,析构时的行为。理解这些行为并不复杂,复杂的是理解在继承下这些行为的表现。需要注意的是他们并不会被继承(传统意义上的继承)。 拷贝构造函数 形式: class Foo{ public: Foo(); //默认构
阅读全文
关于继承中的析构函数
摘要:测试代码1: 在vs2003运行结果如下 ClassA::ClassA() beginClassA::Print()ClassA::ClassA() endClassB::ClassB() beginClassB::Print()ClassB::ClassB() end ClassB::Print(
阅读全文
c++智能指针详解
摘要:动态内存 每个程序有一个内存池,称为堆,用于存储动态分配的对象,即那些在程序运行时分配的对象。动态对象的生存周期由程序来控制,也就是说,当动态对象不再使用时,我们的代码必须显示的销毁他们。 使用懂态内存是十分必要的额,但众所周知,正确管理动态内存是十分棘手的。比如忘记释放内存就会产生内存泄漏。有时尚
阅读全文
c++explicit
摘要:首先, C++中的explicit关键字只能用于修饰只有一个参数的类构造函数, 它的作用是表明该构造函数是显示的, 而非隐式的, 跟它相对应的另一个关键字是implicit, 意思是隐藏的,类构造函数默认情况下即声明为implicit(隐式). 那么显示声明的构造函数和隐式声明的有什么区别呢? 我们
阅读全文
c++模板特化偏特化
摘要:模板为什么要特化,因为编译器认为,对于特定的类型,如果你对某一功能有更好地实现,那么就该听你的。 模板分为类模板与函数模板,特化分为全特化与偏特化。全特化就是限定死模板实现的具体类型,偏特化就是模板如果有多个类型,那么就只限定为其中的 一部分,其实特化细分为范围上的偏特化与个数上的偏特化。 模板的泛
阅读全文