Пространства имён
Варианты
Действия

std::make_signed

Материал из cppreference.com
< cpp‎ | types
 
 
 
Поддержка типов
Основные типы
Оригинал:
Basic types
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Основные типы
Исправлены типы целых ширину (C++11)
Числовые пределы
Оригинал:
Numeric limits
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
С числовым ограничивает интерфейс
Время тип информации
Оригинал:
Runtime type information
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Тип черты
Оригинал:
Type traits
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Первичные категории типа
Оригинал:
Primary type categories
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Тип свойства
Оригинал:
Type properties
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Поддерживаемые операции
Оригинал:
Supported operations
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Отношения собственности и запросов
Оригинал:
Relationships and property queries
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Тип модификаций
Оригинал:
Type modifications
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Тип преобразования
Оригинал:
Type transformations
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Характеристики типов констант
Оригинал:
Type trait constants
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
 
Defined in header <type_traits>
template< class T >
struct make_signed;
(начиная с C++11)

Если T является целочисленным типом (но не bool) или типом перечисления, то предоставляет определение типа в члене type, которое будет равно соответствующему знаковому целочисленному типу с теми же cv-квалификаторами, иначе поведение будет не определено.

Содержание

[править] Типы-члены

Имя Определение
type Знаковый целочисленный тип, соответствующий T

[править] Вспомогательные типы

template< class T >
using make_signed_t = typename make_signed<T>::type;
(начиная с C++14)

[править] Пример

#include <iostream>
#include <type_traits>
 
int main() {
    typedef std::make_signed<char>::type char_type;
    typedef std::make_signed<int>::type int_type;
    typedef std::make_signed<volatile long>::type long_type;
 
    bool ok1 = std::is_same<char_type, signed char>::value;
    bool ok2 = std::is_same<int_type, signed int>::value;
    bool ok3 = std::is_same<long_type, volatile signed long>::value;
 
    std::cout << std::boolalpha
    << "char_type является 'signed char'?          : " << ok1 << '\n'
    << "int_type  является 'signed int'?           : " << ok2 << '\n'
    << "long_type является 'volatile signed long'? : " << ok3 << '\n';
}

Вывод:

char_type является 'signed char'?          : true
int_type  является 'signed int'?           : true
long_type является 'volatile signed long'? : true

[править] См. также

(C++11)
Проверяет является ли тип знаковым арифметическим типом или нет
(шаблон класса) [править]
Проверяет является ли тип беззнаковым арифметическим типом или нет
(шаблон класса) [править]
Делает данный целочисленный тип беззнаковым
(шаблон класса) [править]