摘要:
介绍LINQ基础之前,首说一下LINQ的历史和LINQ是什么,然后说一下学习LINQ要了解的东西和LINQ基础语法LINQ的历史从语言方面的进化–委托–匿名方法–Lambda表达式–Linq查询表达式上边这四个我会在下边一一解说从时间方面的演进–2004年–2005年9月,C#2.0的PDC上发布–2005年11月,C#2.0预览版–2006年1月,VB8.0预览版–2007年11月,.net 3.5发布LINQ是什么LINQ是语言级集成查询(Language INtegrated Query)LINQ是一种用来进行数据访问的编程模型,使得.NET语言可以直接支持数据查询LINQ的目标是降低访 阅读全文
摘要:
如果一个类从两个不同的类里继承两个同名的成员,则需要在派生类中使用类限定符来区分他们。即在从A和B派生出来的c类中使用a::Show()和B::Show()来区分从这两个类那里继承的show()方法如果一个类通过多种途径继承了一个非虚基类,则该类从每种途径分别继承非虚基类的一个实例。多个基类都是有问题的。使用虚基类的MI,当派生类使用关键字virtual来指示派生时,基类就成为虚基类:class A:public virtual B{}主要变化是,从虚基类的一个或多个实例派生而来的类将只继承了一个基类。对实现这种特性,必须满足其他要求:1》有间接虚基类的派生类包含直接调用间接基类构造函数的构造 阅读全文
摘要:
》在基类方法声明中使用关键字virtual,可以使该方法在基类及所有的派生类中是虚的》如果使用指向对象的引用或指针来调用虚方法,程序将使用对象类型定义的方法,而不使用为引用或指针类型定义的方法 这称为动态联编或晚期联编,这种行为非常重要,因为这样基类指针或引用可以指向派生类对象》如果定义的类将被用作基类,则将那些要在派生类中重新定义的类方法声明为虚的。》构造函数不能是虚函数》析构函数应当是虚函数》友元不能是虚函数,只有成员类才能是虚函数 阅读全文
摘要:
1.不要返回指向局部变量或临时对象的引用。函数执行完毕后,局部变量和临时对象会消失,引用将指向不存在的数据 2.返回指向const对象的引用 使用const引用的常见原因是旨在提高效率,但对于何时采用这种方式存在一些限制。 如果函数返回传递给它的对象,可以通过返回引用来提高效率。 A Max(con 阅读全文
摘要:
在一个类里每个成员函数都有一个this指针。this指针指向调用对象。如果方法需要引用整个调用 对象可以使用*this。this是对象的地址,而不是对象本身。 *this是对象本身。可以将*this 作为调用对象的别名 this 这是指代本对象this本来是个指针,*this的星号是取指针指向的内容 阅读全文
摘要:
using 声明和using 编译指令using 声明将特定的名称添加到它所属的声明区域中。using std::cout;将cout添加到声明区中,声明扣可以用cout<<代替 std::cout<<int main(){ using std::cout; cout<<"a"; std::cin.get();}using声明使一个名称可用,而using 编译指令使所有的名称都可以用。using namespace std;int main(){ cout<<"aa"; cin.get();}名称空间使用原 阅读全文
摘要:
c++为静态存储持续性变量提供了3种链接性:外部链接性(可在其他文件中访问)内部链接性(只能在当前文件中访问)无链接性(别有用心能在当前函数或代码中访问)如果没有显示的初始化静态变量会把它设置为0要创建链接性为外部的静态持续变量,必须在代码块外面声明它要创建链接性为内部的静态持续变量,必须在代码块外面声明它,并使用static限定符要创建没有链接性的静态持续变量,必须在代码块内声明它,并使用static限定符用一个代码片段说明这3种变量int global =100//静态持续外部链接性static int one_file=50//静态持续 内部链接性int main(){}void fun 阅读全文
摘要:
数组就是一组元素的内存位置,各个内存位置可以存储相同数据类型的数据项,而我们可以用相同的变量名引用所有的内存地址初始化数组int myA[5]={1,2,3,4,5};也可以这样int myA[5]={1,2,3} ; //这样前3个值是有初始值的,后2个是默认值0也可以为所有的元素一同初始化值in... 阅读全文
摘要:
可以将程序分为二部分:头文件:包含结构声明和使用这些结构的函数的原型源代码文件: 包含与结构有关的函数的代码不要将函数的定义或变量的声明放在头文件里,一般头文件可以包含以下内容>函数原型>使用#define或const定义的符号常量>结构声明>类声明>模板声明>内联函数在包含头文件时我们使用 #include "head.h"而不是#include 如果使用 c++编译器将在存储标准头文件的主机系统的文件系统中查找;如果使用"" 编译器会首先查找当前的工作目录或源代码目录,如果没有找到头文件,再去标准位置查找注意:在I 阅读全文
摘要:
primer Plus在解释具体化和实例化看的有点乱,分解出来备忘在代码中包含函数模板本身并不会生成函数定义,它只是用于生成函数定义的方案编译器使用模板为我写类型生成函数定义时,得到的是模板实例如这个模板templatevoid Swap(T &t1,T &t2){ T _t; _t=t1; t1=t2; t2=_t;}调用 int i = 10,j=20; ::cout指示类型并在声明前加上template:template void Swap(int &t1,int &t2);例子#includeusing namespace std;templ... 阅读全文