From Valve Developer Community
Jump to: navigation, search

A struct is identical to a class, except that its members are public by default. It exists in C++ largely for the purpose of backwards compatibility with C.

Valve typically use structs to pass conceptual groups of variables between functions. This is advantageous because a struct (or a indeed class - there is little between the two) can be extended or modified later without breaking the existing calls or declarations of any code that uses it.