#include <iostream>
using namespace std;
bool AllocArray(int size, int **ptr)
{
*ptr = new int[size];
if (ptr != NULL)
return true;
else
return false;
}
bool AllocArrayBad(int size, int *ptr)
{
ptr = new int[size];
if (ptr != NULL)
return true;
else
return false;
}
int main()
{
int *ptr = NULL;
AllocArray(10, &ptr);
// 這裡印出來的不是0
// 代表成功儲存了配置空間的位置
cout << ptr << endl;
int *ptr2 = NULL;
AllocArrayBad(10, ptr2);
// 這裡印出來的是0
// 代表並沒有儲存配置空間的位置
cout << ptr2 << endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKYm9vbCBBbGxvY0FycmF5KGludCBzaXplLCBpbnQgKipwdHIpCnsKICAgICpwdHIgPSBuZXcgaW50W3NpemVdOwogICAgaWYgKHB0ciAhPSBOVUxMKQogICAgICAgIHJldHVybiB0cnVlOwogICAgZWxzZQogICAgICAgIHJldHVybiBmYWxzZTsKfQoKYm9vbCBBbGxvY0FycmF5QmFkKGludCBzaXplLCBpbnQgKnB0cikKewogICAgcHRyID0gbmV3IGludFtzaXplXTsKICAgIGlmIChwdHIgIT0gTlVMTCkKICAgICAgICByZXR1cm4gdHJ1ZTsKICAgIGVsc2UKICAgICAgICByZXR1cm4gZmFsc2U7Cn0KCmludCBtYWluKCkKewogICAgaW50ICpwdHIgPSBOVUxMOwogICAgQWxsb2NBcnJheSgxMCwgJnB0cik7CiAgICAvLyDpgJnoo6HljbDlh7rkvobnmoTkuI3mmK8wCiAgICAvLyDku6PooajmiJDlip/lhLLlrZjkuobphY3nva7nqbrplpPnmoTkvY3nva4KICAgIGNvdXQgPDwgcHRyIDw8IGVuZGw7CgogICAgaW50ICpwdHIyID0gTlVMTDsKICAgIEFsbG9jQXJyYXlCYWQoMTAsIHB0cjIpOwogICAgLy8g6YCZ6KOh5Y2w5Ye65L6G55qE5pivMAogICAgLy8g5Luj6KGo5Lim5rKS5pyJ5YSy5a2Y6YWN572u56m66ZaT55qE5L2N572uCiAgICBjb3V0IDw8IHB0cjIgPDwgZW5kbDsKfQ==