zoukankan      html  css  js  c++  java
  • 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 *) == 4, "64-bit code generation is not supported."); 
    
        return;
    }
    
    int main()
    {
        mytest();
    
        system("pause");
        return 0;
    }
  • 相关阅读:
    eclipse中的项目的JRE换成JDK
    Eclipse中maven项目的创建和运行
    git 发布命令
    vbox中虚拟ubuntu增加新的虚拟硬盘
    MyServer
    java常用的中间件
    高并发解决方案
    浅谈SpringMVC
    浅谈HIbernate
    javaweb笔记七
  • 原文地址:https://www.cnblogs.com/lsgxeva/p/7787283.html
Copyright © 2011-2022 走看看