We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 3da7c5d commit ffb8d64Copy full SHA for ffb8d64
lang/cpp17/if_constexpr.md
@@ -170,28 +170,6 @@ int main()
170
}
171
```
172
173
-上の例では`false_v`を作ったが、ラムダ式でも同様のことができる。ラムダ式はそれが記述された位置から見て最小のスコープ (ブロックスコープ/クラススコープ/名前空間スコープ) で宣言されるクラスとして扱われる。例えば、下の例では`f()`という関数テンプレート内で宣言される。関数テンプレート内のクラスは依存名になるため、テンプレートの宣言時に検証されず、テンプレート実体化まで評価を遅らせることができる。
174
-
175
-```cpp example
176
-#include <type_traits>
177
178
-template <typename T>
179
-void f(T)
180
-{
181
- if constexpr (std::is_same_v<T, int>)
182
- {
183
- // Tがintのときのみ評価される
184
- static_assert([]{return false;}());
185
- }
186
-}
187
188
-int main()
189
190
- f(2.4);
191
- f(3);
192
193
-```
194
195
### 類似機能との比較
196
197
`constexpr if`文の導入によってC++の`if`系の条件分岐は3種類になった。
0 commit comments