用到结构体的同学经常会碰到这样的问题,结构体中有很多成员变量需要初始化,应用的时候经常因为忘了初始化导致野指针啊,乱码啊。。
昨天我写c++代码时看着class的构造函数忽然想到,class和struct有很多地方是累似的既然class可以通过构造函数初始化为什么struct于是我果断测试了一下
#include <iostream>
using namespace std;
struct node
{
node* next[26];
int flag;
};
int main()
{
node* test;
cout<<test->flag<<endl;
}
结果如下
经过一下改动
#include <iostream>
using namespace std;
struct node
{
node* next[26];
int flag;
node()
{
for(int i = 0; i< 26; i++)
{
next[i]=NULL;
}
flag = 1;
}
};
int main()
{
node* test = new node;
cout<<test->flag<<endl;
}
这样我们就不怕忘记初始化了,而且大大的美观了代码,嘻嘻