回答編集履歴
3
update
test
CHANGED
@@ -24,7 +24,7 @@
|
|
24
24
|
|
25
25
|
|
26
26
|
|
27
|
-
訂正:
|
27
|
+
訂正:[Most Vexing Parse](https://en.wikipedia.org/wiki/Most_vexing_parse)(の複雑なケース)に該当します。構文的には`function::measure`型の変数`function::able`宣言と解釈されますが、これは意味論(セマンティクス)上は不正な宣言となるためコンパイルエラーとみなされます。StackOverfloaの[Most vexing parse with a qualified-id - or not?](https://stackoverflow.com/questions/28955859/)や[Is Type(::x); valid?](https://stackoverflow.com/questions/24623071/)もご参考に。
|
28
28
|
|
29
29
|
|
30
30
|
|
2
update
test
CHANGED
@@ -20,7 +20,11 @@
|
|
20
20
|
|
21
21
|
|
22
22
|
|
23
|
-
`main`関数が意図通りに実装されていません。質問中にあるコードでは「`function::measure`クラスに値`function::able`を指定して一時オブジェクトを構築し、同一行内でそのオブジェクトを破棄」してしまいます。つまりコード区間の時間計測としては全く機能せず、常に`0 ms`と出力されるはずです。
|
23
|
+
`main`関数が意図通りに実装されていません。~~質問中にあるコードでは「`function::measure`クラスに値`function::able`を指定して一時オブジェクトを構築し、同一行内でそのオブジェクトを破棄」してしまいます。つまりコード区間の時間計測としては全く機能せず、常に`0 ms`と出力されるはずです。~~
|
24
|
+
|
25
|
+
|
26
|
+
|
27
|
+
訂正:これは[Most Vexing Parse](https://en.wikipedia.org/wiki/Most_vexing_parse)(の複雑なケース)に該当します。構文的には`function::measure`型の変数`function::able`宣言と解釈されますが、これは意味論(セマンティクス)上は不正な宣言となるためコンパイルエラーとみなされます。StackOverfloaの[Most vexing parse with a qualified-id - or not?](https://stackoverflow.com/questions/28955859/)や[Is Type(::x); valid?](https://stackoverflow.com/questions/24623071/)もご参考に。
|
24
28
|
|
25
29
|
|
26
30
|
|
1
refinement
test
CHANGED
@@ -14,11 +14,13 @@
|
|
14
14
|
|
15
15
|
|
16
16
|
|
17
|
+
----
|
18
|
+
|
17
19
|
> 記法をはじめとして、このコードに対する指摘・アドバイス
|
18
20
|
|
19
21
|
|
20
22
|
|
21
|
-
`main`関数が意図通りに実装されていません。質問中にあるコードでは「`function::measure`クラスに値`function::able`を指定して一時オブジェクトを構築し、同一行内でそのオブジェクトを破棄」してしまいます。つまり
|
23
|
+
`main`関数が意図通りに実装されていません。質問中にあるコードでは「`function::measure`クラスに値`function::able`を指定して一時オブジェクトを構築し、同一行内でそのオブジェクトを破棄」してしまいます。つまりコード区間の時間計測としては全く機能せず、常に`0 ms`と出力されるはずです。
|
22
24
|
|
23
25
|
|
24
26
|
|
@@ -44,11 +46,11 @@
|
|
44
46
|
|
45
47
|
int main() {
|
46
48
|
|
47
|
-
function::measure span(function::able);
|
49
|
+
function::measure span(function::able); // オブジェクト作成=計測開始
|
48
50
|
|
49
51
|
// (計測対象の処理)
|
50
52
|
|
51
|
-
} // ここで
|
53
|
+
} // ここでオブジェクトが破棄される=計測終了
|
52
54
|
|
53
55
|
```
|
54
56
|
|