gpt4 book ai didi

c++使用结构指针初始化结构

转载 作者:搜寻专家 更新时间:2023-10-31 00:09:21 26 4
gpt4 key购买 nike

在阅读 C++Primer 时,我遇到了这段代码

struct destination;
struct connection;
connection connect(destination*);

connection connect(destination*); 行是做什么的?即使它传递了结构名称,它怎么编译得很好?难道你不应该将 struct 初始化为变量然后像这样传递它吗?

struct destination;
struct connection;
destination dest;
connection connect(dest);

最佳答案

What does connection connect(destination*); line do?

它声明了一个名为 connect 的函数, 这需要 destination*并返回 connection .

在此声明中,没有为参数提供名称(虽然对读者没有特别帮助,但有效)。据推测,这将在函数被定义时提供,如下所示:

connection connect(destination* ptr)
{
connection conn;
// do something with conn and ptr
return conn;
};

本书的其余代码片段(您没有引用的部分)显示了对函数 connect 的调用。 , 来自另一个名为 f 的函数.

函数声明在前面的六章中介绍过。

how come it compiles fine even though it's passing the struct name?

因为那是你应该在函数声明中做的事情。

Aren't you supposed to initialize the struct to variable then pass that like so?

没有。

关于c++使用结构指针初始化结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43745714/

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