摘要: 注意:select 后的字段,必须要么包含在group by中,要么包含在having 后的聚合函数里。1. GROUP BY 是分组查询, 一般 GROUP BY 是和聚合函数配合使用。group by 有一个原则,就是 select 后面的所有列中,没有使用聚合函数的列,必须出现在 group by 后面(重要)例如,有如下数据库表:A B1 abc1 bcd1 asdfg如果有如下查询语句(该语句是错误的,原因见前面的原则)select A,B from table group by A该查询语句的意图是想得到如下结果(当然只是一相情愿)A B abc1 bcd asdfg右边3条如.. 阅读全文
posted @ 2013-08-27 09:41 CPYER 阅读(455) 评论(0) 推荐(0)
摘要: 1.运算符重载定义: C++中预定义的运算符的操作对象只能是基本数据类型。但实际上,对于许多用户自定义类型(例如类),也需要类似的运算操作。这时就必须在C++中重新定义这些运算符,赋予已有运算符新的功能,使它能够用于特定类型执行特定的操作。运算符重载的实质是函数重载,它提供了C++的可扩展性,也是C++最吸引人的特性之一。运算符重载是通过创建运算符函数实现的,运算符函数定义了重载的运算符将要进行的操作。运算符函数的定义与其他函数的定义类似,惟一的区别是运算符函数的函数名是由关键字operator和其后要重载的运算符符号构成的。运算符函数定义的一般格式如下: operator () { }2.. 阅读全文
posted @ 2013-08-26 13:27 CPYER 阅读(2269) 评论(0) 推荐(0)
摘要: 1. 在一个单链表中p所指结点之前插入一个s (值为e)所指结点时,可执行如下操作:q=head;while (q->next!=p)q=q->next;s= newNode; s->data=e;q->next= ; //填空s->next= ; //填空2. 线性表的顺序存储结构是一种 的存储结构,而链式存储结构是一种___的存储结构。A.随机存取 B.索引存取 C.顺序存取 D.散列存取3. 线性表若采用链式存储结构时,要求内存中可用存储单元的地址___。A. 必须是连续的 B. 部分地址必须是连续的C. 一定是不连续的 D. 连续或不连续都可以4. 在一个 阅读全文
posted @ 2013-08-23 13:37 CPYER 阅读(436) 评论(0) 推荐(0)
摘要: 一. 什么是拷贝构造函数首先对于普通类型的对象来说,它们之间的复制是很简单的,例如:1 int a = 100; 2 int b = a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。 1 #include 2 using namespace std; 3 4 class CExample { 5 private: 6 int a; 7 public: 8 //构造函数 9 CExample(int b) 10 { a = b;} 11 12 ... 阅读全文
posted @ 2013-08-23 11:26 CPYER 阅读(1826) 评论(0) 推荐(0)
摘要: STL备忘(转)1. string.empty() 不是用来清空字符串,而是判断string是否为空,清空使用string.clear();2. string.find等查找的结果要和string::npos比较,而不是和-1比较。(各个平台可能不同)3. 将string转为char * ,用char * t = (char *)s.c_str() ,而不是 char *t =s.begin() 或者 char *t = &s[0] 或者 char *t =s.data();4. 不要用错string.find ,string::find_first_of ,find和find_fir 阅读全文
posted @ 2013-08-23 10:38 CPYER 阅读(515) 评论(0) 推荐(0)