判断new数据初始化_拔剑-浆糊的传说_新浪博客
生活随笔
收集整理的這篇文章主要介紹了
判断new数据初始化_拔剑-浆糊的传说_新浪博客
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
// int* p = new int[100](); ----> 這個是C++語法明確規定要初始化為0的!!!
# include? < iostream > using namespace std; # define N? 60
# define LOG(v)\ cout<<"["<<#v<<"]=";\ for(int i = 0; i < N; ++i)\ cout<<v[i]<<" ";\ cout<<endl;
#define TYPE double
int main() { TYPE* p3 = new TYPE[N]{}; TYPE* p2 = new TYPE[N](); TYPE* p1 = new TYPE[N]{0}; TYPE* p4 = new TYPE[N];? ? ? ? ?//沒有初始化 TYPE* p = new TYPE[N]{3, 2, 0};
LOG(p); LOG(p1); LOG(p2); LOG(p3); LOG(p4); TYPE * pp[1000]; for (int i = 0; i < 1000; ++i) { pp[i] = new TYPE[1000]{0}; for (int j = 0; j < 1000; ++j) { if (pp[i][j] != 0) { cout << "fail at (" << i << "," << j << ")" << endl; return 0; } } } cout << "PASS" << endl; //只是原理性的,delete memory code removed. }
--- 輸出---
[p]=3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 [p1]=0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 [p2]=0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 [p3]=0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 [p4]=-842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 PASS 請按任意鍵繼續. . . ================================================================= // Example program # include < iostream > # include < string > using namespace std;
class cint { public: cint(const int i1=5):i(i1) { } friend ostream & operator <<(ostream& os, const cint& c) { return cout<<c.i; } protected: int i; };
# define LOG(p)? cout<<"["<< #p <<"]=";\ for(int k =0; k < 100; ++k)\ cout<<p[k]<<"? ";\ cout<<endl;
int main() { cint* p = new cint[100]; cint* p1 = new cint[100](); cint* p2 = new cint[100]{0,0,0}; cint* p3 = new cint[100]{}; LOG(p); LOG(p1); LOG(p2); LOG(p3); }
output: [p]=5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
[p1]=5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
[p2]=0 0 0 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
[p3]=5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 ?
# include? < iostream > using namespace std; # define N? 60
# define LOG(v)\ cout<<"["<<#v<<"]=";\ for(int i = 0; i < N; ++i)\ cout<<v[i]<<" ";\ cout<<endl;
#define TYPE double
int main() { TYPE* p3 = new TYPE[N]{}; TYPE* p2 = new TYPE[N](); TYPE* p1 = new TYPE[N]{0}; TYPE* p4 = new TYPE[N];? ? ? ? ?//沒有初始化 TYPE* p = new TYPE[N]{3, 2, 0};
LOG(p); LOG(p1); LOG(p2); LOG(p3); LOG(p4); TYPE * pp[1000]; for (int i = 0; i < 1000; ++i) { pp[i] = new TYPE[1000]{0}; for (int j = 0; j < 1000; ++j) { if (pp[i][j] != 0) { cout << "fail at (" << i << "," << j << ")" << endl; return 0; } } } cout << "PASS" << endl; //只是原理性的,delete memory code removed. }
--- 輸出---
[p]=3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 [p1]=0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 [p2]=0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 [p3]=0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 [p4]=-842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 -842150451 PASS 請按任意鍵繼續. . . ================================================================= // Example program # include < iostream > # include < string > using namespace std;
class cint { public: cint(const int i1=5):i(i1) { } friend ostream & operator <<(ostream& os, const cint& c) { return cout<<c.i; } protected: int i; };
# define LOG(p)? cout<<"["<< #p <<"]=";\ for(int k =0; k < 100; ++k)\ cout<<p[k]<<"? ";\ cout<<endl;
int main() { cint* p = new cint[100]; cint* p1 = new cint[100](); cint* p2 = new cint[100]{0,0,0}; cint* p3 = new cint[100]{}; LOG(p); LOG(p1); LOG(p2); LOG(p3); }
output: [p]=5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
[p1]=5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
[p2]=0 0 0 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
[p3]=5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 ?
總結
以上是生活随笔為你收集整理的判断new数据初始化_拔剑-浆糊的传说_新浪博客的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 对接百度ORC营业执照识别
- 下一篇: activereport subrepo