通信用語の基礎知識 全国のICカードこれひとつ 戻る

explicit
辞書:電算用語の基礎知識 プログラミング仕様編 (PTPROGS)
読み:イクスプリシット
外語:explicit
品詞:名詞

C++C#予約語の一つ。

目次
概要

英語でexplicitは明快を意味し、関数を修飾する。

explicit変換演算子は、意図しない変換の呼び出しを回避するために使われる。

C++
コンストラクター

C++では、引数の型が異なる場合に、対応するコンストラクターがあれば暗黙のうちに型変換のために呼び出されることがある。一方、explicitで修飾されたコンストラクターは、明示的にコードに書かない限り呼び出されない。

例えば、

class clsTest {

public:

explicit clsTest(int arg);

};

とした時、

int main()

{

clsTest test(123);

test = 456; // ←エラー

test = clsTest(456); // ←OK

return EXIT_SUCCESS;

}

のようになる。

暗黙の型変換は行なわれず、明示的にコンストラクターを呼び出す必要がある。

変換関数

C++11では、変換関数にも使うことができる。

例えば、

class B {};

class D {

public:

explicit operator B() const;

};

とした時、

int main()

{

D d;

B ba = d; // ←エラー

B bb = (B)d; // ←OK

return EXIT_SUCCESS;

}

のようになる。

暗黙の変換は行なわれず、明示的にキャストを用いる必要がある。

リンク
用語の所属
C
C++

[再検索] [戻る]


通信用語の基礎知識検索システム WDIC Explorer Ver 7.04a (27-May-2022)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club
KisoDic