C++ में, 'struct' और 'typedef struct' के बीच कोई अंतर नहीं है क्योंकि, C++ में, सभी struct/union/enum/class घोषणाएं ऐसा व्यवहार करती हैं जैसे वे इम्प्लिसिटली typedef'ed हैं, जब तक कि नाम उसी नाम की किसी अन्य घोषणा द्वारा छिपा नहीं जाता।
हालांकि एक सूक्ष्म अंतर है कि typedefs को फॉरवर्ड डिक्लेयर नहीं किया जा सकता। इसलिए typedef विकल्प के लिए, आपको typedef वाली फाइल को कहीं भी उपयोग करने से पहले शामिल करना होगा।