C++ struct keyword usage
本问题已经有最佳答案,请猛点这里访问。
我正在按照以下指南设置基本套接字服务器:网址:https://www.geeksforgeks.org/socket-programming-cc/
所以,我知道,当使用关键字struct时,它是定义一个数据结构,但正如您在示例中看到的,它使用structure关键字创建sockaddr的实例,但它不是用于创建/定义结构,而是创建一个实例。
所以我想知道为什么在这个指南中,他在结构中定义了sockaddr_,他之前放了'structure'关键字,我没有尝试过,它编译正确。
背后有什么原因吗?
使用EDCOX1,0当声明结构的实例来自C时,C++中是可选的。
链接中显示的源文件都是用C编写的,而不是C++编写的。在C中,当声明结构的实例时,需要struct关键字,如下所示。
1 | struct sockaddr_in address; |
在C++中,你不需要再这样做了。
您提到的文章是用C编写的,在C中,当您创建一个结构并尝试将其用作类型时,必须提到它是一个结构。如果您想放弃这个结构,可以阅读更多关于