我看到很多结构代码,如下面的
struct codDrives {
WCHAR letter;
WCHAR volume[100];
} Drives[26];
我们可以使用类似的变量或数组来存储数据。
但我不确定为什么我会在程序中使用结构?
答案 0 :(得分:6)
结构继承自C,在C ++中它们几乎与类相同。区别在于结构的成员默认是公共的,而类成员默认是私有的。
因此,C ++中结构的典型用法是虚拟数据结构,它不包含逻辑(仅可能 - 构造函数和/或必需的运算符)。
在更一般的层面上,类/结构用于将概念相关的数据块组合在一起。例如。为了代表一个人,你可能需要他/她的名字,姓氏,性别,出生日期等。定义一个包含所有这些数据作为成员的结构是很方便的。然后,您可以存储和传递此结构的实例,而不是一大堆不同的变量。这使代码更清晰,更不容易出错,更易读,更易于维护。
答案 1 :(得分:0)
以下是有关结构的一些信息: http://www.cplusplus.com/doc/tutorial/structures/
此外,它们非常有用,例如在函数中返回多个值,比如你需要从函数返回3个值,你可以返回一个包含所有3个值的结构。
答案 2 :(得分:0)
结构也可以包含方法(构造函数非常有用)。另一件事是,使用结构或类,你可以定义复制构造函数或赋值运算符,然后允许你轻松复制结构的实例,即使里面有指针 - 你在结构的方法中处理这个并且不要'以后不得不担心。而且,这允许一个很好的OOP设计。有更多的好处(但也有缺点)......
答案 3 :(得分:0)
使用结构的一个原因可能是控制数据的大小和布局,以便更容易地写入和读取磁盘。
另一个原因是C程序和C ++中使用的代码