C++:既然结构是一个包含所有“公共(public)”元素的类,那么是否创建和调用了默认构造函数?
我问的原因是要了解在使用结构时 C++ 可能比 C 有的开销(如果有的话)。我听到的一种观点是,在 C++ 中,类有一些结构没有的开销,但我对此表示质疑。
最佳答案
在 C++ 中,除了结构成员的默认可见性是公共(public)的,而类成员默认为私有(private)之外,没有区别。
就性能而言,结构构造将与类构造一样快。 实际速度当然取决于您的结构包含的内容。如果您将 C 结构移至 C++,您的结构将仅包含 POD 类型(普通旧数据 - 无类),它们无论如何都没有构造函数。
关于C++:结构的构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/250033/