为什么我要在程序中使用结构?

时间:2010-06-17 08:12:47

标签: c++

我看到很多结构代码,如下面的

struct codDrives {
   WCHAR letter;
   WCHAR volume[100];
} Drives[26];

我们可以使用类似的变量或数组来存储数据。

但我不确定为什么我会在程序中使用结构?

4 个答案:

答案 0 :(得分:6)

结构继承自C,在C ++中它们几乎与类相同。区别在于结构的成员默认是公共的,而类成员默认是私有的。

因此,C ++中结构的典型用法是虚拟数据结构,它不包含逻辑(仅可能 - 构造函数和/或必需的运算符)。

在更一般的层面上,类/结构用于将概念相关的数据块组合在一起。例如。为了代表一个人,你可能需要他/她的名字,姓氏,性别,出生日期等。定义一个包含所有这些数据作为成员的结构是很方便的。然后,您可以存储和传递此结构的实例,而不是一大堆不同的变量。这使代码更清晰,更不容易出错,更易读,更易于维护。

答案 1 :(得分:0)

以下是有关结构的一些信息: http://www.cplusplus.com/doc/tutorial/structures/

此外,它们非常有用,例如在函数中返回多个值,比如你需要从函数返回3个值,你可以返回一个包含所有3个值的结构。

答案 2 :(得分:0)

结构也可以包含方法(构造函数非常有用)。另一件事是,使用结构或类,你可以定义复制构造函数或赋值运算符,然后允许你轻松复制结构的实例,即使里面有指针 - 你在结构的方法中处理这个并且不要'以后不得不担心。而且,这允许一个很好的OOP设计。有更多的好处(但也有缺点)......

答案 3 :(得分:0)

使用结构的一个原因可能是控制数据的大小和布局,以便更容易地写入和读取磁盘。

另一个原因是C程序和C ++中使用的代码