18 探讨C++新标准

7 C++11新增的其他功能

7.4 杂项

C99引入了依赖于实现的拓展整型,C++11继承了这种传统。在使用128位整数的系统中,可使用这样的类型。在C语言中,扩展类型由头文件stdint.h支持,而在C++中,为头文件cstdint。

C++11提供了一种创建用户自定义字面量的机制:字面量运算符(literal operator)。使用这种机制可定义二进制字面量,如101001b,相应的字面量运算符把他转换为整数值。

C++提供了调试工具assert。这是一个宏,它在运行阶段对断言进行检查,如果为true,则显示一条消息,否则调用abort()。断言通常是程序员认为在程序的某个阶段应为true的东西。使用assert的一个例子如下:

#include<stdio.h>
#include<assert.h>

int main(void){
  int x=1;
  assert(x!=1);
  return 0;
}

输出如下:

test: test.c:6: main: Assertion `x!=1' failed.
Aborted (core dumped)

C++11还新增了关键字static_assert,可用于在编译阶段对断言进行测试。这样做的主要目的在于,对于在编译阶段(而不是运行阶段)实例化的模板,调试起来将更简单。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值