<p>In what scenarios is it better to use a <code>struct</code> vs a <code>class</code> in C++?</p>

The differences between a
```
class
```
and a
```
struct
```
in C++ are:
```
struct
```
members and base classes/structs are
```
public
```
by default.
```
class
```
members and base classes/structs are
```
private
```
by default.
Both classes and structs can have a mixture of
```
public
```
,
```
protected
```
and
```
private
```
members, can use inheritance, and can have member functions.
I would recommend you:
use
```
struct
```
for plain-old-data structures without any class-like features;
use
```
class
```
when you make use of features such as
```
private
```
or
```
protected
```
members, non-default constructors and operators, etc.