摘要:1.mutable 关键字 (C++)字典意思adj. 易变的,不定的;性情不定的语法意思如果需要在const成员方法中修改一个成员变量的值,那么需要将这个成员变量修饰为mutable。即用mutable修饰的成员变量不受const成员方法的限制。可以认为mutable的变量是类的辅助状态,但是只是起到类的一些方面表述的功能,修改他的内容我们可以认为对象的状态本身并没有改变的。 实际上由于cons...
阅读全文
随笔分类 - 编程语言/基础算法
摘要:1.mutable 关键字 (C++)字典意思adj. 易变的,不定的;性情不定的语法意思如果需要在const成员方法中修改一个成员变量的值,那么需要将这个成员变量修饰为mutable。即用mutable修饰的成员变量不受const成员方法的限制。可以认为mutable的变量是类的辅助状态,但是只是起到类的一些方面表述的功能,修改他的内容我们可以认为对象的状态本身并没有改变的。 实际上由于cons...
阅读全文
摘要:快速排序的基本思想是基于分治策略的。对于输入的子序列L[p..r],如果规模足够小则直接进行排序,否则分三步处理:1>分解(Divide):将输入的序列L[p..r]划分成两个非空子序列L[p..q]和L[q+1..r],使L[p..q]中任一元素的值不大于L[q+1..r]中任一元素的值。 2>递归求解(Conquer):通过递归调用快速排序算法分别对L[p..q]和L[q+1..r...
阅读全文
摘要:尽管函数指针被广泛用于实现函数回调,但C++还提供了一个重要的实现回调函数的方法,那就是函数对象。函数对象(也称“算符”)是重载了“()”操作符的普通类对象。因此从语法上讲,函数对象与普通的函数行为类似。 用函数对象代替函数指针有几个优点:1>首先,因为对象可以在内部修改而不用改动外部接口,因此设计更灵活,更富有弹性。2>函数对象也具备有...
阅读全文
|