摘要:
说明:通过调用函数来获取系统当前时间,并制作一个数字式的时钟,时钟的显示包括年、月、日、小时、分以及秒,通过系统屏幕的刷新来对不断更新的时间进行屏幕的显示。 一.对相关函数的学习 1.time_t time(time_t *second); a.头文件:<time.h> b.该函数返回自纪元1970 阅读全文
摘要:
说明:利用随机函数生成一个随机数组,然后对数组进行排列,再利用二分查找快速查找一个数。 一.生成随机数组 注意:sizeof(long) = sizeof(unsigned int) = sizeof(time_t) = 4。上述代码也可以用以下代码代替: 二.对数组进行排列 在上一节已经叙述过快速 阅读全文
摘要:
说明:C++中的文件流分为三种:文件输入流、文件输出流、文件输入/输出流,其对应的类分别为 ifstream、ofstream 和 fstream 。由这三个类创建类对象,完成对文件的操作。其中文件的操作包括:打开、读写以及关闭。 注意:输入输出流中的输入与输出,是针对程序(也可以说是针对当前进程) 阅读全文
摘要:
说明: 常见的排序算法都是比较排序,非比较排序包括计数排序、桶排序和基数排序,非比较排序对数据有要求,因为数据本身包含了定位特征,所有才能不通过比较来确定元素的位置。比较排序的时间复杂度通常为O(n2)或者O(nlogn),比较排序的时间复杂度下界就是O(nlogn),而非比较排序的时间复杂度可以达 阅读全文
摘要:
一.生成随机数字 假设我们有一个vector<int>容器,想用100以内的随机数初始化它,其中一个办法是通过generate函数生成,如代码1所示。generate函数接受三个参数,前两个参数指定容器的起止位置,后一个参数指定生成逻辑,这个逻辑正是通过Lambda来表达的。 代码1: 我们现在看到 阅读全文
摘要:
说明:数组的数据类型是一种构造类型,而存储数组的内存是一段连续的存储区域。数组的数据类型决定了连续内存的访问方式,它包括数组的三要素:起始地址、步长以及元素个数。 一.一维数组 1.形式:type 数组名[N],type为该一维数组中元素的类型(即步长),N表示该数组中的元素个数,而数组名则是数组元 阅读全文
摘要:
说明:int (*p)[4] 和 int *p[4](数组指针和指针数组),如果你是一个初学者,也许当你看到这两个名词的时候,已经懵了。其实,只要你理解了其中的含义.这两个名词对你来说会相当简单并且很有趣,下面,我们就来深入探讨一下究竟什么是数组指针,什么是指针数组。 一.指针数组 1.前面我们已经 阅读全文
摘要:
说明:在C++学习的过程中,虚继承-虚函数经常是初学者容易产生误解的两个概念,它们与C++中多态形成的关系,也是很多初学者经常产生困惑的地方,这篇文章将依次分别对三者进行解析,并讲述其之间的联系与不同。 一.虚继承 1.在多继承中,对于多个父类的数据及函数成员,虽然有时候把他们全部继承下来是有必要的 阅读全文
摘要:
说明:C++的多态是通过一张虚函数表(Virtual Table)来实现的,简称为V-Table。在这个表中,主要为一个类的虚函数的地址表,这张表解决了继承、覆写的问题,保证其真实反应实际的虚函数调用过程。这样,在有虚函数的类的实例中这个表被分配在了这个实例的内存中,所以,当我们用父类的指针来操作一 阅读全文
摘要:
说明:流输入运算符,在一定程度上为C++程序的开发提供了很多便利,我们可以避免C语言那种繁琐的输入格式,比如在输入一个数值时,还需指定其格式,而cin以及cout则不需要。但是cin也有一些缺陷,比如当输入字符串时,遇到空格便截止,举个例子,如下,我们在输入“12 23.5 aa bb cc dd” 阅读全文