回答編集履歴
1
update
answer
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
_ALIGNAS_TYPE(istream) _LIBCPP_FUNC_VIS char cin[sizeof(istream)]
|
8
8
|
```
|
9
9
|
|
10
|
-
宣言時`std::istream`と定義時`char[]`のように型が異なってますが、これはC++標準ライブラリが要求する動作を実現するためのHACKの一種と思います。
|
10
|
+
宣言時`std::istream`と定義時`char[]`のように型が異なってますが、これはC++標準ライブラリが要求する動作([C++17 [iostream.objects.overview]/3](https://timsong-cpp.github.io/cppwp/n4659/input.output#iostream.objects.overview-3))を実現するためのHACKの一種と思います。
|
11
11
|
|
12
12
|
> 実際に似たようなコードを作成してみましたがコンパイルできなかったです。
|
13
13
|
> そもそも型が違う同名の変数がある時点でコンパイルエラーになるはずなのになぜならないのでしょうか?
|