回答編集履歴

3

fix typo

2016/12/28 04:20

投稿

yohhoy
yohhoy

スコア6191

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- 補足:構造体名から[WinAPIのそれ](https://msdn.microsoft.com/ja-jp/library/a5ch4fda.aspx)かなと勝手に推測しています。「aggregate(集体)」を簡略化して説明すると「C言語互換の構造体」のことです。つまりコンストラクタや仮想関数を定義しない、単にメンバ変数が並んでいるだけの`struct`はaggregateです。(厳密定義は複雑なのでここでは省略します)
5
+ 補足:構造体名から[WinAPIのそれ](https://msdn.microsoft.com/ja-jp/library/a5ch4fda.aspx)かなと勝手に推測しています。「aggregate(集体)」を簡略化して説明すると「C言語互換の構造体」のことです。つまりコンストラクタや仮想関数を定義しない、単にメンバ変数が並んでいるだけの`struct`はaggregateです。(厳密定義は複雑なのでここでは省略します)
6
6
 
7
7
 
8
8
 

2

append

2016/12/28 04:20

投稿

yohhoy
yohhoy

スコア6191

test CHANGED
@@ -1 +1,29 @@
1
1
  `RECT`がaggregateかつコンパイラがC++11準拠していれば、可能です。
2
+
3
+
4
+
5
+ 補足:構造体名から[WinAPIのそれ](https://msdn.microsoft.com/ja-jp/library/a5ch4fda.aspx)かなと勝手に推測しています。「aggregate(集生体)」を簡略化して説明すると「C言語互換の構造体」のことです。つまりコンストラクタや仮想関数を定義しない、単にメンバ変数が並んでいるだけの`struct`はaggregateです。(厳密定義は複雑なのでここでは省略します)
6
+
7
+
8
+
9
+ ```C++
10
+
11
+ typedef struct tagRECT {
12
+
13
+ LONG left;
14
+
15
+ LONG top;
16
+
17
+ LONG right;
18
+
19
+ LONG bottom;
20
+
21
+ } RECT;
22
+
23
+
24
+
25
+ RECT rc = {1, 2, 3, 4}; // 構造体を初期化
26
+
27
+ assert(rc.left == 1 && rc.top == 2 && rc.right == 3 && rc.bottom == 4);
28
+
29
+ ```

1

fix typo

2016/12/28 03:05

投稿

yohhoy
yohhoy

スコア6191

test CHANGED
@@ -1 +1 @@
1
- `RECT`がaggregateかつコンパイラがC++ 11準拠していれば、可能です。
1
+ `RECT`がaggregateかつコンパイラがC++11準拠していれば、可能です。