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

网站版面广州网站制作选哪家

网站版面,广州网站制作选哪家,手机一元云购网站建设,阿里云的网站空间constexpr、const 和 #define 的比较 一、定义常量 constexpr 定义#xff1a;constexpr用于定义在编译期可求值的常量表达式。示例#xff1a;constexpr int x 5;这里#xff0c;x的值在编译期就确定为5。 const 定义#xff1a;const表示变量在运行期间不能被修改constexpr用于定义在编译期可求值的常量表达式。示例constexpr int x 5;这里x的值在编译期就确定为5。 const 定义const表示变量在运行期间不能被修改但不保证在编译期求值。示例const int x 5;#define 定义#define是预处理器指令用于宏定义通常用于定义常量或简单的函数。示例#define X 5比较 特性constexprconst#define类型安全是是否编译期求值是否否作用域遵循C作用域规则遵循C作用域规则全局作用域调试支持支持支持不支持重载支持支持不支持 #mermaid-svg-RkHZlFBpoqu1tw41 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-RkHZlFBpoqu1tw41 .error-icon{fill:#552222;}#mermaid-svg-RkHZlFBpoqu1tw41 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-RkHZlFBpoqu1tw41 .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-RkHZlFBpoqu1tw41 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-RkHZlFBpoqu1tw41 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-RkHZlFBpoqu1tw41 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-RkHZlFBpoqu1tw41 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-RkHZlFBpoqu1tw41 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-RkHZlFBpoqu1tw41 .marker.cross{stroke:#333333;}#mermaid-svg-RkHZlFBpoqu1tw41 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-RkHZlFBpoqu1tw41 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-RkHZlFBpoqu1tw41 .cluster-label text{fill:#333;}#mermaid-svg-RkHZlFBpoqu1tw41 .cluster-label span{color:#333;}#mermaid-svg-RkHZlFBpoqu1tw41 .label text,#mermaid-svg-RkHZlFBpoqu1tw41 span{fill:#333;color:#333;}#mermaid-svg-RkHZlFBpoqu1tw41 .node rect,#mermaid-svg-RkHZlFBpoqu1tw41 .node circle,#mermaid-svg-RkHZlFBpoqu1tw41 .node ellipse,#mermaid-svg-RkHZlFBpoqu1tw41 .node polygon,#mermaid-svg-RkHZlFBpoqu1tw41 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-RkHZlFBpoqu1tw41 .node .label{text-align:center;}#mermaid-svg-RkHZlFBpoqu1tw41 .node.clickable{cursor:pointer;}#mermaid-svg-RkHZlFBpoqu1tw41 .arrowheadPath{fill:#333333;}#mermaid-svg-RkHZlFBpoqu1tw41 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-RkHZlFBpoqu1tw41 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-RkHZlFBpoqu1tw41 .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-RkHZlFBpoqu1tw41 .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-RkHZlFBpoqu1tw41 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-RkHZlFBpoqu1tw41 .cluster text{fill:#333;}#mermaid-svg-RkHZlFBpoqu1tw41 .cluster span{color:#333;}#mermaid-svg-RkHZlFBpoqu1tw41 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-RkHZlFBpoqu1tw41 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} constexpr const #define 定义常量 编译期求值, 类型安全 运行时常量, 类型安全 预处理器宏, 无类型检查 优点: 类型安全, 调试支持, 作用域控制 优点: 类型安全, 但可能不编译期求值 缺点: 无类型检查, 调试困难, 全局作用域 二、函数定义 constexpr函数 定义constexpr函数可以在编译期被调用生成常量表达式。示例constexpr int square(int x) {return x * x; }const函数 定义表示函数不会修改对象的状态。示例class MyClass { public:int getValue() const { return value; } private:int value; };#define宏 定义可以定义简单的函数式宏但不具备类型检查。示例#define SQUARE(x) ((x) * (x))比较 特性constexpr函数const函数#define宏类型检查是是否编译期计算是否否重载支持支持不支持调试支持支持困难 #mermaid-svg-3rZA80AukPKNdmgP {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3rZA80AukPKNdmgP .error-icon{fill:#552222;}#mermaid-svg-3rZA80AukPKNdmgP .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-3rZA80AukPKNdmgP .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-3rZA80AukPKNdmgP .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-3rZA80AukPKNdmgP .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-3rZA80AukPKNdmgP .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-3rZA80AukPKNdmgP .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-3rZA80AukPKNdmgP .marker{fill:#333333;stroke:#333333;}#mermaid-svg-3rZA80AukPKNdmgP .marker.cross{stroke:#333333;}#mermaid-svg-3rZA80AukPKNdmgP svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-3rZA80AukPKNdmgP .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-3rZA80AukPKNdmgP .cluster-label text{fill:#333;}#mermaid-svg-3rZA80AukPKNdmgP .cluster-label span{color:#333;}#mermaid-svg-3rZA80AukPKNdmgP .label text,#mermaid-svg-3rZA80AukPKNdmgP span{fill:#333;color:#333;}#mermaid-svg-3rZA80AukPKNdmgP .node rect,#mermaid-svg-3rZA80AukPKNdmgP .node circle,#mermaid-svg-3rZA80AukPKNdmgP .node ellipse,#mermaid-svg-3rZA80AukPKNdmgP .node polygon,#mermaid-svg-3rZA80AukPKNdmgP .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-3rZA80AukPKNdmgP .node .label{text-align:center;}#mermaid-svg-3rZA80AukPKNdmgP .node.clickable{cursor:pointer;}#mermaid-svg-3rZA80AukPKNdmgP .arrowheadPath{fill:#333333;}#mermaid-svg-3rZA80AukPKNdmgP .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-3rZA80AukPKNdmgP .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-3rZA80AukPKNdmgP .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-3rZA80AukPKNdmgP .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-3rZA80AukPKNdmgP .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-3rZA80AukPKNdmgP .cluster text{fill:#333;}#mermaid-svg-3rZA80AukPKNdmgP .cluster span{color:#333;}#mermaid-svg-3rZA80AukPKNdmgP div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-3rZA80AukPKNdmgP :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} constexpr const #define 定义函数 编译期求值, 类型安全 不修改对象状态, 类型安全 预处理器宏, 无类型检查 优点: 类型安全, 调试支持, 重载可能 优点: 保证对象状态不变, 类型安全 缺点: 无类型检查, 调试困难, 无重载 三、优势和用途 constexpr 优化性能编译期求值可以减少运行时计算优化代码。增强类型安全编译器在编译期检查常量表达式减少运行时错误。模板元编程在编译期生成代码提高模板元编程的灵活性。 const 类型安全保证变量或对象状态不变增强代码的可靠性。不修改状态适用于需要保证对象状态不变的场景如成员函数。 #define 简单性对于简单的常量定义和宏函数#define更简洁。跨平台兼容性在一些老旧的编译器或环境中#define可能更通用。 四、使用场景 constexpr 适用场景需要在编译期确定值的场景如模板元编程、数组大小定义等。 const 适用场景需要保证变量或对象状态不变的场景不强调编译期求值。 #define 适用场景简单的常量定义、宏函数定义尤其是在需要跨平台兼容性或使用老旧编译器的环境中。 总结 可以看出constexpr在现代C中提供了更强大的功能和更好的类型安全性适合于需要在编译期进行计算和优化的地方。const则在保证变量或对象状态不变方面有其独特的用途而#define在一些特定的场景中仍有其简洁性和兼容性的优势。选择使用哪种方式定义常量或函数应根据具体的需求和代码的上下文来决定。
http://www.sczhlp.com/news/161492/

相关文章:

  • 营销型科技网站做网站排名的公司有哪些
  • 建站网站主题设置不能点黑龙江最近发生的新闻
  • 峨眉山移动网站建设网站建设归工商局管还是工信局管
  • 网站建立的连接不安全微软网站怎么做的
  • 网站网址更新了怎么查企业网站源码带后台管理
  • Python算法题
  • 第一
  • 地方志网站建设wordpress主题带识图搜索
  • 如何做收费影视资源网站网站设计怎么好看
  • 国贸附近网站建设重庆重庆网站建设公司
  • 网站服务公司业务范围包括泰州网站建设解决方案
  • 苏州制作企业网站公司网站开发设计费用
  • 淄博汽车网站建设产品开发流程文件
  • 石家庄网站建设公司黄页住房建设部官方网站专家注册
  • 黄冈市网站建设好的网站建设公司哪家好
  • stm32做网站服务器网站维护预算
  • app网站建设多少钱中小企业网站制作报价
  • c语言 网站开发企业网站设计理念
  • 查询域名网站佛山网上业务系统
  • dede修改网站密码网页版哔哩哔哩怎么下载视频
  • 住房和城乡建设部滨州做网站优化
  • 网站安全监测缪斯设计官网
  • 上海网站制作有名 乐云践新小米企业网站的优化建议
  • 机关网站建设制度外贸论坛找客户
  • 工程机械网站模板响水做网站哪家最好
  • 苏州网站建设网站建设公司网站制作导航
  • 主机屋的免费空间怎么上传网站番禺区建设网站
  • 做服务的网站网站备案经验
  • 免费做文字图网站网站开发手机app
  • 做推广便宜的网站有哪些wordpress显示文章图片