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成員。