回答編集履歴

6

std::move除去

2020/04/12 09:47

投稿

SHOMI
SHOMI

スコア4079

test CHANGED
@@ -30,9 +30,9 @@
30
30
 
31
31
  my_vector<double> y(N, 2.0);
32
32
 
33
- my_vector<double> ans(std::move(x + y));
33
+ my_vector<double> ans(x + y);
34
34
 
35
- //もしくは my_vector<double> ans = std::move(x + y);
35
+ //もしくは my_vector<double> ans = x + y;
36
36
 
37
37
  }
38
38
 

5

main文はそのままにを満たせていない旨追記

2020/04/12 09:47

投稿

SHOMI
SHOMI

スコア4079

test CHANGED
@@ -1,4 +1,8 @@
1
+ ・main文はそのままに
2
+
3
+ ・返り値のメモリを確保せずに
4
+
1
- 返り値のメモリ確保ずにでですが、`my_vector`にムーブコンストラクタとムーブ代入演算子を定義したうえでこう?
5
+ 満たはいませんが、`my_vector`にムーブコンストラクタとムーブ代入演算子を定義したうえでこう?
2
6
 
3
7
  ```C++
4
8
 

4

リンク追加

2020/04/11 16:05

投稿

SHOMI
SHOMI

スコア4079

test CHANGED
@@ -33,3 +33,9 @@
33
33
  }
34
34
 
35
35
  ```
36
+
37
+
38
+
39
+ ムーブについては以下を参照。
40
+
41
+ [右辺値参照・ムーブセマンティクス](https://cpprefjp.github.io/lang/cpp11/rvalue_ref_and_move_semantics.html)

3

返り値のメモリを確保しないわけではない旨追記

2020/04/11 16:03

投稿

SHOMI
SHOMI

スコア4079

test CHANGED
@@ -1,4 +1,4 @@
1
- `my_vector`にムーブコンストラクタとムーブ代入演算子を定義したうえでこう?
1
+ 返り値のメモリを確保せずにではないですが、`my_vector`にムーブコンストラクタとムーブ代入演算子を定義したうえでこう?
2
2
 
3
3
  ```C++
4
4
 

2

Nの値修正

2020/04/11 15:57

投稿

SHOMI
SHOMI

スコア4079

test CHANGED
@@ -20,7 +20,7 @@
20
20
 
21
21
  int main() {
22
22
 
23
- size_t N = 2;
23
+ size_t N = 100;
24
24
 
25
25
  my_vector<double> x(N, 1.0);
26
26
 

1

ムーブコンストラクタ使用例追加

2020/04/11 15:55

投稿

SHOMI
SHOMI

スコア4079

test CHANGED
@@ -26,7 +26,9 @@
26
26
 
27
27
  my_vector<double> y(N, 2.0);
28
28
 
29
- my_vector<double> ans = std::move(x + y);
29
+ my_vector<double> ans(std::move(x + y));
30
+
31
+ //もしくは my_vector<double> ans = std::move(x + y);
30
32
 
31
33
  }
32
34