相关疑难解决方法(0)

什么时候应该在C++中使用类vs结构?

在什么情况下在C++中使用structvs a 更好class

c++ oop struct ooad class

895
推荐指数
15
解决办法
38万
查看次数

C++中的结构与类

什么时候应该有人在C++中使用结构而不是类,反之亦然?当一个完整的类管理一些信息似乎有点过分,但我想发现自己使用结构,但是想表明所包含的信息都是相关的.我想知道什么是一个好的指导方针,能够分辨哪一个比另一个更合适?

编辑:在阅读材料时发现这些链接在提交问题后,指示的Stack Overflow是相关的:

什么时候应该在C++中使用类vs结构?
C++中struct和class之间有什么区别?

c++ class

22
推荐指数
2
解决办法
4536
查看次数

拥有带方法的结构总是邪恶的吗?

我刚刚浏览并发现以下内容......

什么时候应该在C++中使用类vs结构?

根据惯例,你应该只使用结构用于POD,没有方法等.

我一直认为某些类型是自然结构而不是类,但仍然可以有一些辅助函数作为成员.结构应该仍然是大多数通常规则的POD - 特别是使用memcpy复制必须是安全的.它必须公开所有成员数据.但是,将助手功能作为成员对我来说仍然有意义.我甚至不一定会反对私人方法,尽管我不记得曾经这样做过.虽然它打破了正常的POD规则,但我不反对具有构造函数的结构,只要它们只是初始化 - 少数字段构造函数(重写赋值或析构函数肯定会违反规则).

对我来说,结构直观地是字段的集合 - 数据结构节点或其他 - 而类是抽象.为字段集合提供辅助函数的逻辑位置可能在结构中.

我甚至认为我曾经沿着这些方向阅读过一些建议,尽管我不记得在哪里.

这是否违反公认的最佳做法?

编辑 - POD(普通旧数据)被这个问题误传.特别是,结构可以是非POD纯粹因为成员是非POD - 例如具有std :: string类型成员的聚合.不得使用memcpy复制该聚合.如果有困惑,请看这里.

c++ struct class

22
推荐指数
3
解决办法
2万
查看次数

为什么我应该考虑在C++中使用结构?

在C++中声明结构有没有优势?为什么我不应该只创建一个只包含数据成员的类(即没有方法)?

谢谢,

c++ struct class

0
推荐指数
1
解决办法
323
查看次数

标签 统计

c++ ×4

class ×4

struct ×3

ooad ×1

oop ×1