C++初始杂记

发布时间:2016-12-11 18:08:50 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"C++初始杂记",主要涉及到C++初始杂记方面的内容,对于C++初始杂记感兴趣的同学可以参考一下。

1 动态分配数组初始化: string *ps=new string[10];//类类型,默认构造函数初始化 int *pi=new int[10]();//()用于初始化 对于动态分配数组,其元素只能初始化为元素类型默认值。 C++允许定义0长度的动态分配数组,即: char *cp=new char[0];  //ok,返回有效的非零指针,但不能解引用 2 动态空间的释放 delete [] ps;  //[]必不可少 3 const对象初始化规则: 指向const对象的指针可以初始化为指向非const对象的指针;反之则不可以; 但是const对象和非const对象则可以相互初始化; 非const引用只能用引用所指向的非const对象的副本来初始化,而const引用还可以初始化为右值或字符串常量值。 4 形参是局部对象,也是自动对象 5 构造函数:与类同名,没有返回类型,可在类内或类外定义,但是声明必须在类内(红色部分和普通成员函数一样) 默认构造函数没有形参 Eg: class Sales_item {    public:         double avg_price()const;         bool same_isbn(constSales_item &rhs) const {return isbn==rhs.isbn;} Sales_item():units_sold(0),revenue(0.0) {}    //构造函数     private:                      string isbn;                      unsigned units_sold;                      double revenue; } 其中构造函数Sales_item():units_sold(0),revenue(0.0) {}形参和函数体均为空,冒号和花括号之间的代码为构造函数的初始化列表,它为类的一个或多个数据成员指定初值,以冒号开头;string 类型的对象可以自动默认为空,也可以指定其初值,在这里isbn 被初始化为空。   递归方法求反转链表: struct List {   int data;   List* next; }; List* ReverseList(List* oldList,List* newHead=NULL) {   List* next=oldList->next;   oldList->next=newHead;   newHead=oldList;   return (next==NULL) ? newHead :ReverseList(next,newHead); }

上一篇:hdu 2544 最短路 (floyd)
下一篇:VB.net 中Module的使用1

相关文章

关键词: C++初始杂记

相关评论