C++ struct keyword usage [duplicate]

2019-09-21 17:49发布

This question already has an answer here:

I'm setting up a basic socket server following this guide: https://www.geeksforgeeks.org/socket-programming-cc/

So, I know that when you use the keyword struct it's to define a data structure, but as you can see in the example, it creates an instance of sockaddr_in using the structure keyword, but it's not for creating/defining the structure, it's to create an instance.

So I'm wondering why in this guide to define a sockaddr_in structure he puts the 'structure' keyword before, I tried it without and it compiles all correctly.

Is there any reason behind?

标签: c++ struct
3条回答
唯我独甜
2楼-- · 2019-09-21 18:13

The article that you've mentioned is written in C, which in C when you create a struct and you try to use it as a type, you have to mention that it's a struct. If you want to give up on the struct, you can read more about the typedef operator.

查看更多
爷、活的狠高调
3楼-- · 2019-09-21 18:15

using struct when declaring an instance of a struct comes from C. It is optional in C++.

查看更多
相关推荐>>
4楼-- · 2019-09-21 18:30

The source files shown in your link are both written in C, not C++. In C, when declaring an instance of a struct, you need the struct keyword, like this.

struct sockaddr_in address;

In C++ you don't need to do this anymore.

查看更多
登录 后发表回答