c++11 静态断言
c++11 静态断言
#define _CRT_SECURE_NO_WARNINGS #include <iostream>
#include <string>
#include <vector>
#include <map> void mytest()
{
bool flag = false; // 在程序运行阶段进行检测,如果条件为真,程序正常执行,如果为假,终止程序,提示错误
// 需要包含 assert.h 头文件,实现是一个宏,禁用断言可以使用 #define NDEBUG
//assert(flag == true); // C++ 11新增了关键字static_assert,可用于在编译阶段对断言进行测试。
// 静态断言的好处:
// 更早的报告错误,我们知道构建是早于运行的,更早的错误报告意味着开发成本的降低
// 减少运行时开销,静态断言是编译期检测的,减少了运行时开销
// 语法如下: static_assert(常量表达式,提示字符串)
// 注意:只能是常量表达式,不能是变量 //该static_assert用来确保编译仅在32位的平台上进行,不支持64位的平台
static_assert(sizeof(void *) == , "64-bit code generation is not supported."); return;
} int main()
{
mytest(); system("pause");
return ;
}
c++11 静态断言的更多相关文章
- C++11 静态断言(static_assert)
简介 C++0x中引入了static_assert这个关键字,用来做编译期间的断言,因此叫做静态断言. 其语法很简单:static_assert(常量表达式,提示字符串). 如果第一个参数常量表达 ...
- (五)静态断言(下),static_assert
二.静态断言与static_assert 通过上一篇,我们可以看到,断言assert宏只有在程序运行的时候才能起作用.而#error值在编译器预处理时才能起作用. 有时候,我们希望在编译时候能做一些断 ...
- 转:探索C++0x: 1. 静态断言(static_assert)
转自:http://www.cppblog.com/thesys/articles/116985.html 简介 C++0x中引入了static_assert这个关键字,用来做编译期间的断言,因此叫做 ...
- C++断言与静态断言
断言是很早之前就有的东西了,只需要引入cassert头文件即可使用.往往assert被用于检查不可能发生的行为,来确保开发者在调试阶段尽早发现“不可能”事件真的发生了,如果真的发生了,那么就表示代码的 ...
- C++11静态assert
[C++11静态assert] C++11新的关键字static_assert可以解决模板中的状态检察. 声明采取以下的形式: 这里有一些如何使用static_assert的例子: 当常数表达式值为f ...
- c语言静态断言-定义自己的静态断言
c语言里面可以自己定义静态断言,更加方便的调试代码. 使用静态断言 #include<stdio.h> #include<stdlib.h> #include<asser ...
- c语言静态断言
在php中可以通过xdebug来显示详细的错误信息,可以细化到哪个文件哪行代码引起的报错.在C语言里面也可以通过静态断言(assert)来使得调试代码更加方便.关于断言,可以作为一种很强大的调试方式或 ...
- C++除法运算 // 静态断言
1.C++中"/"运算:对两个整数做除法,结果仍为整数,如果它的商包含小数部分,则小树部分会被截除. C++ Primer 第五章 P130 2.静态断言(static_asser ...
- C语言中静态断言的使用
编写代码时,我们总是会做出一些假设,断言就是用于在代码中捕捉这些假设,可以将断言看作异常处理的高级形式,用于代码调试. #define _CRT_SECURE_NO_WARNINGS //关闭安全监察 ...
随机推荐
- test_maven_实现表单验证
这篇文章是我的上一篇文章的续集,如未看过,可看一下,上面的test_maven再继续看这个 这篇文章主要是阐述使用struts实现表单验证的功能. 1.首先了解actionContext:Action ...
- 一个IOS自动化打包的脚本
网上找了一个脚本,在其中进行了修改,只需要一条命令就可以了 支持自动导入配置文件 支持自动安装p12证书 支持自动修改版本号和build版本号 支持自动修改app显示名称 支持自动修改bundle i ...
- 2017-2018 Exp7 网络欺诈技术防范 20155214
目录 Exp7 网络欺诈技术防范 实验内容 信息收集 知识点 Exp7 网络欺诈技术防范 实验内容 实验环境 主机 Kali 靶机 Windows 10 实验工具 平台 Metaploit 信息收集 ...
- 20155311《网络对抗》Web安全基础实践
20155311<网络对抗>Web安全基础实践 基础问题回答 SQL注入攻击原理,如何防御? 原理:SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL ...
- Docker GitHub 网站中 Readme.md 以技术者的角度翻译
Docker 是一个开源的轻量级容器项目,用于让你的应用在它上面打包.集装和运行.Docker 运行的环境既包含未知硬件也包含未知操作系统.这句话的意思是它可以运行在任何地方,小到你的笔记本大到一个大 ...
- 杂谈---小故事小道理,面试中的小技巧(NO.2)
本篇是接着上一篇面试随笔的,上一次有猿友反应写的有些“扯淡”,LZ思来想去最大的原因可能是由于上一章写的全是一些大忌,既然是大忌,那么在现实当中发生的概率还是相对较小的,大部分人还是很少在面试中犯如此 ...
- uwsgi+django架构程序内部无法获取全局变量
近期开发了一个djangoi程序,用django自带的python manage.py runserver 0.0.0.0:80 运行方式无任何问题,但用django+nginx+uwsg部署运行有时 ...
- Linux下安装maven(mvn命令)
Maven(mvn)是基于项目对象模型(POM project object model),可以通过一小段描述信息(配置)来管理项目的构建,报告和文档的软件项目管理工具(百度百科) 简单理解为一个打包 ...
- Unity特殊路径
Resources: Resources文件可以在根目录下,也可以在子目录下,只要叫Resources就好.Resources目录下所有资源将被打包进游戏存放资源的archive中,Resources ...
- 利用可道云kodexplorer在树莓派raspbian上搭建私有云网盘
可道云kodexplorer是一款开源私有云系统,类似于owncloud,Dropbox.SkyDrive,seafile等.将可道云kodexplorer搭建在树莓派上,从而在树莓派上存储.管理家庭 ...