add_pointer クラス
指定された型から型へのポインターを作成します。
構文
template <class T>
struct add_pointer;
template <class T>
using add_pointer_t = typename add_pointer<T>::type;
パラメーター
T
変更する型。
解説
メンバー typedef typedef
type
は、remove_reference<T>::type*
と同じ型を指定します。 別名 add_pointer_t
は、メンバー typedef
type
にアクセスするショートカットです。
参照からポインターを作成することは無効であるため、add_pointer
は型へのポインターを作成する前に、指定された型から参照を削除します (存在する場合)。 その結果、型が参照であるかどうかを気にすることなく、型を add_pointer
で使用できます。
例
次の例では、型の add_pointer
がその型へのポインターと同じであることを示します。
#include <type_traits>
#include <iostream>
int main()
{
std::add_pointer_t<int> *p = (int **)0;
p = p; // to quiet "unused" warning
std::cout << "add_pointer_t<int> == "
<< typeid(*p).name() << std::endl;
return (0);
}
add_pointer_t<int> == int *
必要条件
ヘッダー: <type_traits>
名前空間: std
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示