命名空間
變體
動作

std::is_volatile

出自 cppreference.com
< cpp‎ | types
 
 
元程式設計 (Metaprogramming) 函式庫
型別特徵
類型類別
(C++11)
(C++11)(DR*)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11) 
(C++11)
(C++11)
類型屬性
(C++11)
is_volatile
(C++11)
(C++11)
(C++14)
(C++11)(在 C++26 中棄用)
(C++11)(直到 C++20* 為止)
(C++11)(在 C++20 中棄用)
(C++11)
類型特性常數
後設函式
(C++17)
支援的操作
關係與屬性查詢
類型修改
(C++11)(C++11)(C++11)
類型轉換
(C++11)(於 C++23 廢棄)
(C++11)(於 C++23 廢棄)
(C++11)
(C++11)(直到 C++20* 為止)(C++17)

(C++11)
(C++11)
(C++17)
編譯期有理數運算
編譯期整數序列
 
定義於標頭檔 <type_traits>
template< class T >
struct is_volatile;
(C++11 起)

std::is_volatile 是一個 UnaryTypeTrait(單元類型特徵)。

T 為 volatile 限定類型(即 volatileconst volatile),則提供成員常數 value 等於 true。對於任何其他類型,valuefalse

若程式為 std::is_volatilestd::is_volatile_v 加入特化版本,則行為未定義。

目錄

[編輯] 模板參數

T - 要檢查的類型

[編輯] 輔助變數模板

template< class T >
constexpr bool is_volatile_v = is_volatile<T>::value;
(自 C++17 起)

繼承自 std::integral_constant

成員常數

value
[靜態]
T 為 volatile 限定類型則為 true,否則為 false
(公開靜態成員常數)

成員函式

operator bool
將物件轉換為 bool,回傳 value
(公開成員函式)
operator()
(C++14)
回傳 value
(公開成員函式)

成員型別

類型 定義
value_type bool
type (型別) std::integral_constant<bool, value>

[編輯] 可能的實作方式

template<class T> struct is_volatile : std::false_type {};
template<class T> struct is_volatile<volatile T> : std::true_type {};

[編輯] 範例

#include <type_traits>
#include <valarray>
 
static_assert(!std::is_volatile_v<int>);
static_assert(std::is_volatile_v<volatile int>);
static_assert(std::is_volatile_v<volatile const int>);
static_assert(std::is_volatile_v<volatile std::valarray<float>>);
static_assert(!std::is_volatile_v<std::valarray<volatile float>>);
 
int main() {}

[編輯] 參見

(C++11)
檢查型別是否具有 const 限定修飾
(類別模板) [編輯]
English Deutsch 日本語 中文(简体) 中文(繁體)