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