Trong C++, không có khác biệt giữa struct và typedef struct vì mọi khai báo struct/union/enum/class trong C++ đều hoạt động như thể được typedef ngầm định, miễn là tên không bị che khuất bởi khai báo khác cùng tên.
Tuy có một khác biệt tinh vi: typedef không thể khai báo trước (forward declare). Với tùy chọn typedef, bạn phải include file chứa typedef trước khi dùng nó ở bất kỳ đâu.