回答編集履歴
2
焦るとヤバイ。綴ミス
answer
CHANGED
@@ -10,9 +10,9 @@
|
|
10
10
|
{
|
11
11
|
typedef std::vector<std::vector<double>> Base;
|
12
12
|
public:
|
13
|
-
Double2D(size_t
|
13
|
+
Double2D(size_t iHeight, size_t iWidth) : Base(iHeight, std::vector<double>(iWidth , 0.0))
|
14
14
|
{
|
15
|
-
for (size_t i=0; i <
|
15
|
+
for (size_t i=0; i < iHeight; ++i)
|
16
16
|
{
|
17
17
|
for (size_t j=0; j < iWidth ; ++j)
|
18
18
|
{
|
@@ -46,7 +46,7 @@
|
|
46
46
|
}
|
47
47
|
}
|
48
48
|
```
|
49
|
-
[wandbox](https://wandbox.org/permlink/
|
49
|
+
[wandbox](https://wandbox.org/permlink/tEpWbi85IeHmOa2b)
|
50
50
|
|
51
51
|
超注意事項としては、Double2Dやその派生クラスに非staticなメンバ変数を定義してはいけないことです。
|
52
52
|
なぜなら、上述のBaseクラスへのポインタや参照経由でデストラクトされた時、Double2Dやその派生クラスのデストラクタが呼ばれません。メモリ・リークやデストラクタが呼ばれないことによる不都合が発生するからです。
|
1
columnとrowを間違ってしまった
answer
CHANGED
@@ -10,11 +10,11 @@
|
|
10
10
|
{
|
11
11
|
typedef std::vector<std::vector<double>> Base;
|
12
12
|
public:
|
13
|
-
Double2D(size_t
|
13
|
+
Double2D(size_t iHight, size_t iWidth) : Base(iHight, std::vector<double>(iWidth , 0.0))
|
14
14
|
{
|
15
|
-
for (size_t i=0; i <
|
15
|
+
for (size_t i=0; i < iHight; ++i)
|
16
16
|
{
|
17
|
-
for (size_t j=0; j <
|
17
|
+
for (size_t j=0; j < iWidth ; ++j)
|
18
18
|
{
|
19
19
|
(*this)[i][j]= i+j/100.0;
|
20
20
|
}
|
@@ -46,7 +46,7 @@
|
|
46
46
|
}
|
47
47
|
}
|
48
48
|
```
|
49
|
-
[wandbox](https://wandbox.org/permlink/
|
49
|
+
[wandbox](https://wandbox.org/permlink/A7rns78UPyCk2kgR)
|
50
50
|
|
51
51
|
超注意事項としては、Double2Dやその派生クラスに非staticなメンバ変数を定義してはいけないことです。
|
52
52
|
なぜなら、上述のBaseクラスへのポインタや参照経由でデストラクトされた時、Double2Dやその派生クラスのデストラクタが呼ばれません。メモリ・リークやデストラクタが呼ばれないことによる不都合が発生するからです。
|