Difference Between `struct Foo` and `typedef struct` in C++ | CodeTrail