想到一些东西记下来,避免忘了。。
-------------------------------1----------------------------------
- int a[2][4];
- int (*p)[4]=a;
此时p是行指针,相当与a的一个别名。
-------------------------------------------------------
在c++中引用这个特性中,也有类似的用法。
- int (&p)[4]=a;
但请注意,此时的a不再是二维数组而是一维数组:
- int a[4];
--------------------------2------------------------------
- int *p=new int();
- cout<<*p<<endl;
- delete p;
进行了初始化,*p=0;
注:vc6.0不符合标准
//2011年12月19日 17:30:13
--------------------3---------------------------
返回引用的函数返回一个左值
- #include<stdio.h>
- int & change(int (&a)[5])
- {
- return a[0];
- }
- void main()
- {
- int a[5];
- change(a)=5;
- printf("%d\n",a[0]);
- }
输出: 5
------------4---------------------
默认实参
- void a(int b=3)
- {
- printf("%d\n",b);
- }
- void main()
- {
- a();
- a(1);
- }
输出:
3
1
//2011年12月19日 22:44:09
------------5-----------------------------------
- #include <iostream>
- using namespace std;
- class addtest
- {
- public:
- static int data;
- void add()
- {
- data=1;
- }
- addtest()
- {
- data=0;
- }
- static void print()
- {
- cout<<"hello world"<<endl;
- }
- };
- int addtest::data=0;
- class addtestb :public addtest
- {
- };
- void main()
- {
- addtest a,c;
- addtestb b;
- a.data++;
- b.data++;
- c.data++;
- cout<<a.data<<endl;
- addtest::print();
-
- }
输出 3 //2011年12月29日 23:28:39