C++のis_podテンプレート
この記事では、C++STLでのstd::is_podテンプレートの動作、構文、および例について説明します。
is_podは、
POD(プレーンな古いデータ)とは何ですか?
プレーンオールドデータ(POD)タイプは、古いC言語でもあるタイプです。 PODタイプには、スカラータイプも含まれます。 PODクラスタイプは、トリビアル(静的に初期化可能)と標準レイアウト(構造体や共用体などの単純なデータ構造)の両方であるクラスタイプです。
構文
template <class T> is_pod;
パラメータ
テンプレートにはタイプTのパラメーターのみを含めることができ、指定されたタイプがプレーンオールドデータタイプであるかどうかを確認します。
戻り値
ブール値を返します。指定されたタイプがプレーンオールドデータの場合はtrue、指定されたタイプがプレーンオールドデータでない場合はfalseです。
例
Input: class final_abc{ final_abc(); }; is_pod<final_abc>::value; Output: False Input: is_pod<int>::value; Output: True
例
#include <iostream> #include <type_traits> using namespace std; struct TP_1 { int var_1; }; struct TP_2 { int var_2; private: int var_3; }; struct TP_3 { virtual void dummy(); }; int main() { cout << boolalpha; cout << "checking for is_pod:"; cout << "\nTP_1: " << is_pod<TP_1>::value; cout << "\nTP_2: " << is_pod<TP_2>::value; cout << "\nTP_3: " << is_pod<TP_3>::value; return 0; }
出力
上記のコードを実行すると、次の出力が生成されます-
checking for is_pod: TP_1: true TP_2: false TP_3: false
例
#include <iostream> #include <type_traits> using namespace std; class TP_1 { int var_1; }; class TP_2 { int var_2; private: int var_3; }; class TP_3 { virtual void dummy(); }; int main() { cout << boolalpha; cout << "checking for is_pod:"; cout << "\nTP_1: " << is_pod<TP_1>::value; cout << "\nTP_2: " << is_pod<TP_2>::value; cout << "\nTP_3: " << is_pod<TP_3>::value; return 0; }
出力
上記のコードを実行すると、次の出力が生成されます-
checking for is_pod: TP_1: true TP_2: true TP_3: false
-
C ++のexpm1()
関数expm1()は、任意の数から1を引いた累乗の指数を計算するために使用されます。 (指数をaの累乗で累乗した)-1の値を返します。 expm1()の数式は次のとおりです。 expm1(a) = (e^a) - 1 C ++言語でのexpm1()の構文は次のとおりです。 float expm1(variable_name); ここで 変数名 −値が計算される変数に付けられた任意の名前。 これは、C ++言語でのexpm1()の例です。 例 #include <iostream> #include <cmath> using namespace std
-
C ++のlog1p()
関数log1p()は、(a + 1)の自然対数(基数e対数)を計算するために使用されます。ここで、aは任意の数値です。 (a + 1)の自然対数の値を返します。 -1未満の値を渡すと、Not a number(Nan)が返されます。 log1p()の数式は次のとおりです。 log1p(a) = base-e log(a+1) C ++言語でのlog1p()の構文は次のとおりです。 float log1p(float variable_name); ここで variable_name −対数値が計算される変数に付けられた名前。 これは、C ++言語でのlog1p()の例です