当前位置: 首页 > news >正文

广州城乡建设局网络优化是做啥的

广州城乡建设局,网络优化是做啥的,大学生创新创业大赛报名入口,苏州餐饮 网站建设类型特性 类型特性定义一个编译时基于模板的结构&#xff0c;以查询或修改类型的属性。 试图特化定义于 <type_traits> 头文件的模板导致未定义行为&#xff0c;除了 std::common_type 可依照其所描述特化。 定义于<type_traits>头文件的模板可以用不完整类型实例…

类型特性


类型特性定义一个编译时基于模板的结构,以查询或修改类型的属性。

试图特化定义于 <type_traits> 头文件的模板导致未定义行为,除了 std::common_type 可依照其所描述特化。

定义于<type_traits>头文件的模板可以用不完整类型实例化,除非另外有指定,尽管通常禁止以不完整类型实例化标准库模板。

类型属性

继承自 std::integral_constant

成员常量

value

[静态]

T 为抽象类类型则为 true ,否则为 false
(公开静态成员常量)
成员函数

operator bool

转换对象为 bool ,返回 value
(公开成员函数)

operator()

(C++14)

返回 value
(公开成员函数)
成员类型
类型定义
value_typebool
typestd::integral_constant<bool, value>

检查类型是否为抽象类类型

std::is_abstract

template< class T >
struct is_abstract;

(C++11 起)

T 为抽象类(即声明或继承至少一个纯虚函数的非联合类类型),则提供等于 true 的成员常量 value 。对于其他类型, value 为 false 。

T 是非联合类类型,则 T 应为完整类型;否则行为未定义。

模板形参
T-要检查的类型
辅助变量模板

template< class T >
inline constexpr bool is_abstract_v = is_abstract<T>::value;

(C++17 起)
 调用示例
#include <iostream>
#include <type_traits>struct A
{int m;
};struct B
{virtual void foo();
};struct C
{virtual void foo() = 0;
};struct D : C {};int main()
{std::cout << std::boolalpha;std::cout << "std::is_abstract<int>::value:         "<< std::is_abstract<int>::value << std::endl;std::cout << "std::is_abstract<double>::value:      "<< std::is_abstract<double>::value << std::endl;std::cout << "std::is_abstract<std::string>::value: "<< std::is_abstract<std::string>::value << std::endl;std::cout << "std::is_abstract<A>::value:           "<< std::is_abstract<A>::value << std::endl;std::cout << "std::is_abstract<B>::value:           "<< std::is_abstract<B>::value << std::endl;std::cout << "std::is_abstract<C>::value:           "<< std::is_abstract<C>::value << std::endl;std::cout << "std::is_abstract<D>::value:           "<< std::is_abstract<D>::value << std::endl;return 0;
}
输出

检查类型是否为有符号算术类型

std::is_signed

template< class T >
struct is_signed;

(C++11 起)

T 是算术类型且 T(-1) < T(0) ,则提供等于 true 的成员常量 value :这对于浮点类型和有符号整数类型产生 true ,并对无符号整数类型和 bool 类型产生 false

对于任何其他类型, value 为 false 。

模板形参
T-要检查的类型
辅助变量模板

template< class T >
inline constexpr bool is_signed_v = is_signed<T>::value;

(C++17 起)
可能的实现
namespace detail {
template<typename T,bool = std::is_arithmetic<T>::value>
struct is_signed : std::integral_constant<bool, T(-1) < T(0)> {};template<typename T>
struct is_signed<T,false> : std::false_type {};
} // namespace detailtemplate<typename T>
struct is_signed : detail::is_signed<T>::type {};
调用示例
#include <iostream>
#include <type_traits>class A {};
enum B : int {};
enum class C : int {};int main()
{std::cout << std::boolalpha;std::cout << "std::is_signed<A>::value:             "<< std::is_signed<A>::value << std::endl;std::cout << "std::is_signed<std::string>::value:   "<< std::is_signed<std::string>::value << std::endl;std::cout << "std::is_signed<float>::value:         "<< std::is_signed<float>::value << std::endl;std::cout << "std::is_signed<signed int>::value:    "<< std::is_signed<signed int>::value << std::endl;std::cout << "std::is_signed<unsigned int>::value:  "<< std::is_signed<unsigned int>::value << std::endl;std::cout << "std::is_signed<B>::value:             "<< std::is_signed<B>::value << std::endl;std::cout << "std::is_signed<C>::value:             "<< std::is_signed<C>::value << std::endl;// 简短的形式:std::cout << "std::is_signed<signed int>():         "<< std::is_signed<signed int>() << std::endl;std::cout << "std::is_signed<unsigned int>():       "<< std::is_signed<unsigned int>() << std::endl;return 0;
}
输出

检查类型是否为无符号算术类型

std::is_unsigned

template< class T >
struct is_unsigned;

(C++11 起)

T 是算术类型且 T(0) < T(-1) ,则提供等于 true 的成员常量 value :这对无符号整数类型和 bool 类型产生 true 并对有符号整数类型和浮点类型产生 false

对于任何其他类型, value 为 false 。

模板形参
T-要检查的类型
辅助变量模板

template< class T >
inline constexpr bool is_unsigned_v = is_unsigned<T>::value;

(C++17 起)
 可能的实现
namespace detail {
template<typename T,bool = std::is_arithmetic<T>::value>
struct is_unsigned : std::integral_constant<bool, T(0) < T(-1)> {};template<typename T>
struct is_unsigned<T,false> : std::false_type {};
} // namespace detailtemplate<typename T>
struct is_unsigned : detail::is_unsigned<T>::type {};
调用示例
#include <iostream>
#include <type_traits>class A {};
enum B : int {};
enum class C : int {};int main()
{std::cout << std::boolalpha;std::cout << "std::is_unsigned<A>::value:             "<< std::is_unsigned<A>::value << std::endl;std::cout << "std::is_unsigned<std::string>::value:   "<< std::is_unsigned<std::string>::value << std::endl;std::cout << "std::is_unsigned<float>::value:         "<< std::is_unsigned<float>::value << std::endl;std::cout << "std::is_unsigned<signed int>::value:    "<< std::is_unsigned<signed int>::value << std::endl;std::cout << "std::is_unsigned<unsigned int>::value:  "<< std::is_unsigned<unsigned int>::value << std::endl;std::cout << "std::is_unsigned<B>::value:             "<< std::is_unsigned<B>::value << std::endl;std::cout << "std::is_unsigned<C>::value:             "<< std::is_unsigned<C>::value << std::endl;// 简短的形式:std::cout << "std::is_unsigned<signed int>():         "<< std::is_unsigned<signed int>() << std::endl;std::cout << "std::is_unsigned<unsigned int>():       "<< std::is_unsigned<unsigned int>() << std::endl;return 0;
}
输出

http://www.hkea.cn/news/348870/

相关文章:

  • 城乡建设委员会网站河北seo推广公司
  • 某网站栏目策划2022十大热点事件及评析
  • 德清网站建设中心优化大师官方免费下载
  • 生日网页制作免费网站制作代做网页设计平台
  • 学校类网站特点游戏优化大师官网
  • 手机电视网站大全河南网站建设定制
  • zblog做的商城网站上海有实力的seo推广咨询
  • 免费网站模板psd网络营销的整体概念
  • 网站模板下载破解版环球军事新闻最新消息
  • 徐汇苏州网站建设东莞免费建站公司
  • 厦门网站建设哪家强深圳网站维护
  • 政府网站新媒体平台建设关键词权重查询
  • 重庆网站建设制作公司百度客服人工在线咨询电话
  • 微信公众号平台入口官网奶盘seo伪原创工具
  • 泉州网站建设公司推荐宁德市地图
  • 大厂县住房和城乡建设局网站刷百度指数
  • 低代码开发平台优缺点昆山seo网站优化软件
  • 网站开发年终总结网络营销战略的内容
  • 建立门户网站的意义营销推广网
  • 网站建设网站软件有哪些百度推广开户费用标准
  • 找家装修公司家装吉林seo外包
  • 保定医疗网站建设公司会计培训班初级费用
  • 最好的销售管理系统seo发帖网站
  • 德州乐陵德州seo公司seo批量建站
  • 贵州省建设监理协会官方网站seo代运营
  • 北京哪家做网站优化账号权重查询
  • 大唐网站建设培训管理平台
  • 男人和女人在床上做那个网站网络营销策划推广公司
  • 深圳市招投标交易中心天津谷歌优化
  • 厦门园网站忱建设百度推广怎么联系