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

网站结构怎么做临沂网站建设对实体企业的重要性

网站结构怎么做,临沂网站建设对实体企业的重要性,微网站 报价,wordpress创建导航头文件中定义全局变量 引言extern使用示例命名空间inline变量 总结 引言 之前在C11中定义全局变量,要求在.h文件中的变量必须前面加extern关键字,在.cpp文件中定义。这样当多个源文件引入这个变量时,不会出现重复定义。 C17及更高版本&#…

头文件中定义全局变量

  • 引言
    • extern使用示例
    • 命名空间
    • inline变量
  • 总结

引言

之前在C++11中定义全局变量,要求在.h文件中的变量必须前面加extern关键字,在.cpp文件中定义。这样当多个源文件引入这个变量时,不会出现重复定义。
C++17及更高版本,可以使用关键字inline,在变量声明的同时定义,这样就不用分两个文件.h和.cpp了。

extern使用示例

将变量的声明和定义分离。
在头文件中使用extern声明变量:

// MyHeader.h
#pragma once
#include <QColor>extern QColor g_borderColor;  // 声明变量(不分配内存)

在源文件中进行定义,分配内存并初始化:

// MySource.cpp
#include "MyHeader.h"QColor g_borderColor = QColor(Qt::blue);  // 定义变量(分配内存)

原理说明:
extern 关键字:告诉编译器此变量在其他地方定义,当前文件仅声明(不分配内存)。
头文件保护:通过 #pragma once 或 #ifndef/#define 确保头文件仅被包含一次,避免重复声明。
注意:
初始化顺序:若变量依赖其他全局对象,需确保初始化顺序正确(可通过函数封装初始化逻辑)。
静态变量:若变量仅需在单个.cpp文件内使用,可用 static 关键字限制作用域,具体如下:

// MySource.cpp
static QColor g_borderColor = QColor(Qt::blue);  // 仅在当前文件可见

关于关键字static的使用,可自行查找。

命名空间

在extern的基础上可以使用命名空间来替换extern,以实现相同的效果。

// Config.h
#pragma once
#include <QColor>namespace Config {extern QColor borderColor;
}// Config.cpp
#include "Config.h"QColor Config::borderColor = QColor(Qt::blue);

inline变量

在C++17及更高的版本,可以使用inline关键字在头文件中直接定义变量。
使用示例:

// MyHeader.h
#pragma once
#include <QColor>namespace Config {inline QColor borderColor = QColor(Qt::blue);  // C++17+ 允许头文件直接定义
}

原理:inline 变量允许在多个翻译单元(.cpp文件)中存在同名定义,链接器会自动合并。
优点:无需单独的.cpp文件,代码更简洁。
限制:需要编译器支持 C++17(如 GCC 7+、Clang 5+、MSVC 19.15+)。

总结

优先使用 inline 变量(如果环境支持 C++17),代码最简洁。
兼容性要求高时,使用 extern + .cpp 的传统方式。
仅需单文件内使用时,可用 static 变量简化代码。
通过命名空间结合上述方法,既能组织代码,又能避免重复定义问题。

http://www.dtcms.com/wzjs/797949.html

相关文章:

  • 有人在相亲网站骗人做传销apicloud成品源码
  • 苏州高端网站建设咨询项目计划书ai生成
  • 网站转小程序工具网站开发人员职位晋升空间
  • 如何制作简易 网站重庆网站开发服务器
  • 烟台 网站建设摄影设计工作室
  • 无忧网站建设多少钱网页设计图片的边框怎么做
  • 做网站的主要作用百度推广优化怎么做
  • 珠海 电商 网站建设招聘网站怎么做效果好
  • 企业门户网站案例青浦练塘网站建设
  • 初识网站开发流程图南宁电商网站建设
  • 备案后网站可以改名吗wordpress 百科 插件
  • 做兼职的网站绵阳高端网站建设
  • 男女做暧暧网站免费怎么做广告宣传效果好
  • 郑州英语网站建设网页设计与制作教程杨选辉课后答案
  • 农产品网站的品牌建设wordpress 右下角漂浮的广告如何添加
  • 谷歌官方网站首页零基础学做衣服的网站
  • 内网网站建设流程网站的建站过程
  • 企业内部网站建设滑县网站建设服务
  • 钓鱼网站链接怎么做网站开发的费用计入什么科目
  • 恒星科技网站建设wordpress图片七牛云加速
  • 网站和服务器的关系网站建设与管理必修
  • 邢台市住房和城乡建设局网站怎么查询最新网站
  • 购物网站 后台it外包wordpress模板
  • 如何做网站分析app网站多少钱
  • 无锡网站建设价格诸城网站建设定制
  • 分销网站建站全网型网站建设方案
  • 怎么做签到网站联科网站建设
  • 河南网站优化做电商运营有前途吗
  • 网站建设方案 doc阿里云主机怎么做两个网站吗
  • 怎么建立网站?购买模板建站