gpt4 book ai didi

c++ - 在函数中将 NULL 作为参数传递

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:11:50 25 4
gpt4 key购买 nike

我创建了一个书籍类,作为我的作业的一部分,我正在处理它,但它似乎有一个问题,我在下面的代码中无法理解,这是我的代码

private:
Book (string N = " ", int p = 100, string A = "",
string P = "", string T = "", int Y = 2000)
{
cout << "Book constructor start " << N << endl;
Title=N;
pages=p;
Author=A;
Publisher=P;
Type=T;
Yearpublished=Y;
}

~Book(void)
{
cout << "Book destructor start " << Title << endl;
system("pause");
}

public:
static Book * MakeBook(string N = "", int p = 100, string A = "",
string P = "",string T = "",int Y = 2000)
{
return new Book(N,p,A,P,T,Y);
}

static void DelBook(Book * X) {
delete X;
}

在上面的代码中是一个构造函数和析构函数,我的问题是当我在 static void DelBook 函数中传递一个 NULL 作为参数时会发生什么?像下面这样

static void DelBook(NULL)
{
delete NULL;
}

如果可以传递 NULL 值,我该如何编译它?提前致谢。

最佳答案

只要 DelBook 仅调用 delete — 什么也不会发生,它是空操作。 (并且可以使用 NULL 作为参数值调用您的 DelBook,无需额外操作)。

关于c++ - 在函数中将 NULL 作为参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13479504/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com