[解決済み] std::is_functionはどのように実装されていますか?
2023-04-17 13:12:46
質問
に対する実装はどうなっているのでしょうか?
std::is_function
?
template<class T>
struct is_function : std::integral_constant<
bool,
!std::is_const<const T>::value && !std::is_reference<T>::value
> {};
から CPPリファレンス )
と思われます。
int
は、この定義では関数になります。 何が足りないのでしょうか?
どのように解決するのですか?
それでは、登場する条件を確認してみましょう。
もし
const T
は const ではありません (
const
は関数型には適用されないので、関数はオブジェクトではありません)、そして
T
は参照ではありません (
const
も同じ理由で参照には適用されません)、関数型です。
int
(または他の非関数非参照型) に適合しない理由は
is_const<const int>::value
は
true
.
によると C++17 標準§11.3.5 関数 / 第 7 節 : (強調)
関数宣言子における cv-qualifier-seq の効果は,関数型の上に cv-qualification を追加するのと同じではありません. 関数型の上に cv-qualification を追加するのと同じです。後者の場合 後者の場合、cv-qualifiers は無視されます。[ 注意 関数型 はcv-qualifier-seqを持つ関数型はcv-qualified型ではありません。 cv-qualified関数型は存在しません。 - エンドノート ]。[...]
関連
-
[解決済み] 文字列の単語を反復処理するにはどうすればよいですか?
-
[解決済み] using namespace std;」はなぜバッドプラクティスだと言われるのですか?
-
[解決済み] 1ビットのセット、クリア、トグルはどのように行うのですか?
-
[解決済み] なぜテンプレートはヘッダーファイルでしか実装できないのですか?
-
[解決済み] std::vector にある項目が存在するかどうかを調べるには?
-
[解決済み] 派生クラス関数から親クラス関数を呼び出すには?
-
[解決済み] C++テンプレート関数定義の.CPPファイルへの格納
-
[解決済み】画像処理。コカ・コーラ缶」認識のためのアルゴリズム改良
-
[解決済み] Intel CPU の _mm_popcnt_u64 で、32 ビットのループカウンターを 64 ビットに置き換えると、パフォーマンスが著しく低下します。
-
[解決済み】C++ シングルトンデザインパターン
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】C++でint型に無限大を設定する
-
[解決済み] error: 'ostream' does not name a type.
-
[解決済み】デバッグアサーションに失敗しました。C++のベクトル添え字が範囲外
-
[解決済み】エラー:strcpyがこのスコープで宣言されていない
-
[解決済み】c++でstd::vectorを返すための効率的な方法
-
[解決済み】標準ライブラリにstd::endlに相当するタブはあるか?
-
[解決済み] gdbを使用してもデバッグシンボルが見つからない
-
[解決済み] 数値定数の前にunqualified-idを付けて、数値を定義することを期待する。
-
[解決済み】std::cin.getline( ) vs. std::cin
-
[解決済み] スタックアロケーションにより初期化されていない値が作成された