2016-11-23 74 views
-1

我想了解下面的结构。 第3-8行发生了什么? 17行有没有名字的结构。这是做什么的? 谢谢。结构 - 了解代码

1. struct ImageData 
2. { 
3.  bool operator<(const ImageData& in_Other) 
4.  { 
5.   if(Year < in_Other.Year) 
6.    return true; 
7.   if(Year > in_Other.Year) 
8.    return false; 
9. 
10.   return false; 
11.  } 
12. 
13.  int Width; 
14.  int Height; 
15.  short Year; 
16.  
17.  struct 
18.  { 
19.   unsigned ThumbFileOffset; 
20.   unsigned ThumbContainerIndex; 
21.   unsigned ThumbImageSize; 
22.  } Thumbnails[6]; 
23. }; 
+0

你不明白'bool'类型吗? –

+0

第17-22行定义了一个由6个元素组成的数组,每个元素都是由'struct {...}'记号定义的匿名类型。您不能创建任何其他此类型的变量;它没有名字。 (第7行和第8行是多余的;第10行就足够了) –

+0

我了解bool数据类型。我已经阅读了几个关于创建结构的C++教程,并且他们不讨论如何使用if语句。他们只显示一个变量初始化列表。我需要一个更高级的教程。有人可以建议更高级的结构教程吗?谢谢。 – Pixelsmart

回答

1

功能重载操作<,这样就可以比较使用<ImageData对象。

该功能在比较时使用Year成员。