特殊工具与技术--联合:节省空间的类 联合是一种特殊的类。一个 union 对象可以有多个数据成员,但在任何时刻,只有一个成员可以有值。当将一个值赋给 union 对象的一个成员的时候,其他所有都变为未定义的。 为 union 对象分配的存储的量至少与包含其最大数据成员的一样多。联合提供了便利的办法表示一组相互排斥的值,这些值可以是不同类型的。 1.定义联合 作为例子,我们可能有一个处理不同各类...
分类:
编程语言 时间:
2014-08-16 09:47:00
阅读次数:
239
特殊工具与技术--局部类 可以在函数体内部定义类,这样的类称为局部类。一个局部类定义了一个类型,该类型只在定义它的局部作用域中可见。与嵌套类不同,局部类的成员是严格受限的。 局部类的所有成员(包括函数)必须完全定义在类定义体内部,因此,局部类远不如嵌套类有用。 实际上,成员完全定义在类中的要求限制了局部类成员函数的复杂性。局部类中的函数很少超过数行代码,超过的话,阅读者会难以理解代码。 ...
分类:
编程语言 时间:
2014-08-16 09:46:50
阅读次数:
205
特殊工具与技术--固有的不可移植的特征[上] C++从 C 语言继承来的不可移植特征:位域和 volatile 限定符。这些特征可使与硬件接口的直接通信更容易。 C++ 还增加了另一个不可移植特征(从 C 语言继承来的):链接指示,它使得可以链接到用其他语言编写的程序。 一.位域 可以声明一种特殊的类数据成员,称为位域,来保存特定的位数。当程序需要将二进制数据传递给另一程序或硬件设备的时候,通...
分类:
编程语言 时间:
2014-08-16 09:46:10
阅读次数:
296
特殊工具与技术[大结局]--固有的不可移植的特征[下] 三.链接指示:extern “C” C++ 程序有时需要调用用其他程序设计语言编写的函数,最常见的一语言是C 语言。像任何名字一样,必须声明用其他语言编写的函数的名字,该声明必须指定返回类型和形参表。编译器按处理普通 C++ 函数一样的方式检查对外部语言函数的调用,但是,编译器一般必须产生不同的代码来调用用其他语言编写的函数。C++ 使用链接...
分类:
编程语言 时间:
2014-08-16 09:45:40
阅读次数:
245
特殊工具与技术--嵌套类 可以在另一个类内部(与后面所讲述的局部类不同,嵌套类是在类内部)定义一个类,这样的类是嵌套类,也称为嵌套类型。嵌套类最常用于定义执行类. 嵌套类是独立的类,基本上与它们的外围类不相关,因此,外围类和嵌套类的对象是互相独立的。嵌套类型的对象不具备外围类所定义的成员,同样,外围类的成员也不具备嵌套类所定义的成员。 嵌套类的名字在其外围类的作用域中可见,但在其他类作用域或定义...
分类:
编程语言 时间:
2014-08-15 22:35:09
阅读次数:
282
特殊工具与技术--优化内存分配[续2] 七.一个内存分配器基类 预先分配一块原始内存来保存未构造的对象,创建新元素的时候,可以在一个预先分配的对象中构造;释放元素的时候,将它们放回预先分配对象的块中,而不是将内存实际返还给系统。这种策略常被称为维持一个自由列表。可以将自由列表实现为已分配但未构造的对象的链表。 我们将定义一个名为 CachedObj 的新类来处理自由列表。像 QueueItem ...
分类:
编程语言 时间:
2014-08-15 19:39:29
阅读次数:
361
本题就是求m段子段,而且要求这些子段加起来和最大,最大子段和的Plus版本。
不过题意真的不好理解,x,y什么的都没有说清楚。
知道题意就开始解题了,这肯定是动态规划法了。
动态规划法的程序不难写,关键是抽象思维。
这里的最小情况是只分成一段的时候,就退化为最大子段和问题了,这个是段数的最小情况了; 如果只有0个数的时候,结果肯定为零了,或者如果只有一个数的时候就是这个数了,那么数列只有0...
分类:
其他好文 时间:
2014-08-15 14:41:48
阅读次数:
164
特殊工具与技术--类成员指针 成员指针可以做到:获得特定成员的指针,然后从一个对象或别的对象获得该成员.成员指针应该包含类的类型以及成员的类型. 一.声明成员指针测试类:class Screen
{
public:
typedef std::string::size_type index;
char get() const;
char get(index ht,index...
分类:
编程语言 时间:
2014-08-15 09:29:27
阅读次数:
346
3.1 Namespace using Declarations1、因为C++里有名字空间的定义,例如我们使用cin的时候必须写成std::cin,如果就用一次还是可以接受的,但是如果一直都这样,那就很麻烦了。所以C++使用了一个姓的关键字using。(1)第一种用法:例如:using namesp...
分类:
编程语言 时间:
2014-08-14 19:26:29
阅读次数:
222
原创文章,转载请注明出处:http://www.cnblogs.com/DayByDay/p/3912413.html
分类:
编程语言 时间:
2014-08-14 16:16:48
阅读次数:
166