std::make_unsigned

来自cppreference.com
< cpp‎ | types

 
 
 
类型支持
基本类型
基础类型
定宽整数类型 (C++11)
数值极限
C 数值极限接口
运行时类型信息
类型特性
类型类别
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
类型属性
(C++11)
(C++11)
(C++11)
(C++14)
(C++11)
(C++11)(C++17中过时)
(C++11)
类型特性常量
元函数
(C++17)
受支持操作
关系与属性查询
(C++11)
(C++11)
(C++11)
(C++11)
类型修改
(C++11)
(C++11)
(C++11)
make_unsigned
(C++11)
类型变换
(C++11)
(C++11)
(C++17)
(C++11)(C++17中过时)
(C++17)
 
定义于头文件 <type_traits>
template< class T >
struct make_unsigned;
(C++11 起)
鉴于一个不可分割的(除bool)或者枚举类型T,提供成员typedeftype,这是对应于T的无符号整数类型,相同的cv修饰符.
原文:
Given an integral (except bool) or enumeration type T, provides the member typedef type which is the unsigned integer type corresponding to T, with the same cv-qualifiers.
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

[编辑] 会员类型

姓名
原文:
Name
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
Definition
type
无符号整数类型对应的T
原文:
the unsigned integer type corresponding to T
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

[编辑] 示例

#include <iostream>
#include <type_traits>
 
int main() {
    typedef std::make_unsigned<char>::type char_type;
    typedef std::make_unsigned<int>::type int_type;
    typedef std::make_unsigned<volatile long>::type long_type;
 
    bool ok1 = std::is_same<char_type, unsigned char>::value;
    bool ok2 = std::is_same<int_type, unsigned int>::value;
    bool ok3 = std::is_same<long_type, volatile unsigned long>::value;
 
    std::cout << std::boolalpha
    << "char_type is 'unsigned char'?          : " << ok1 << '\n'
    << "int_type  is 'unsigned int'?           : " << ok2 << '\n'
    << "long_type is 'volatile unsigned long'? : " << ok3 << '\n';
}

输出:

char_type is 'unsigned char'?          : true
int_type  is 'unsigned int'?           : true
long_type is 'volatile unsigned long'? : true

[编辑] 另请参阅

(C++11)
检查是否是有符号数字类型
(类模板) [编辑]
检查是否是无符号数字类型
(类模板) [编辑]
将整数类型转换成对应的有符号整数类型
(类模板) [编辑]