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

免费制作封面网站黑龙江门户网站建设

免费制作封面网站,黑龙江门户网站建设,外贸网站后台,怎么在百度建立公司网站目录 一.简介 1.基本概念 2.语法 (1)静态局部变量 (2) 静态成员变量 (3)静态成员函数 二.使用示例 示例1:静态局部变量 示例2:静态成员变量 示例3:静态成员函数 …

目录

一.简介

1.基本概念

2.语法

(1)静态局部变量

(2) 静态成员变量

 (3)静态成员函数

二.使用示例

示例1:静态局部变量

示例2:静态成员变量

示例3:静态成员函数

 示例4:在 C++11 新特性中的应用

示例5:静态全局变量和函数


一.简介

1.基本概念

在 C++ 中,static 是一个用途广泛的关键字,它主要用于控制变量和函数的存储方式、生命周期和作用域。static 关键字在不同的上下文中有不同的含义,核心思想是将变量或函数的作用范围限制在特定的区域内,并且在程序的整个生命周期内保持其存在和状态。

在 C++11 中,static 关键字延续了其在 C++ 早期版本中的一些重要特性,同时也在一些新特性的语境下有着特定的应用。

2.语法

(1)静态局部变量

void function() {static 数据类型 变量名 = 初始值;// ...
}

(2) 静态成员变量

class ClassName {
public:static 数据类型 变量名; // 类内声明// ...
};
数据类型 ClassName::变量名 = 初始值; // 类外定义和初始化

 (3)静态成员函数

class ClassName {
public:static 返回类型 函数名(参数列表);// ...
};
返回类型 ClassName::函数名(参数列表) {// 函数体
}

 

二.使用示例

示例1:静态局部变量

当 static 用于修饰局部变量时,该变量被称为静态局部变量。静态局部变量在函数第一次调用时初始化,之后每次调用函数时不会再次初始化,而是保留上一次调用结束时的值。

#include <iostream>void showCount() {static int count = 0; // 静态局部变量,仅初始化一次std::cout << "Count: " << count << std::endl;count++;
}int main() {showCount(); // 输出: Count: 0showCount(); // 输出: Count: 1return 0;
}

注意事项

静态局部变量的生命周期是整个程序运行期间,但其作用域仍然局限于定义它的函数内部。

示例2:静态成员变量

在类中使用 static 修饰的成员变量称为静态成员变量。静态成员变量属于类本身,而不是类的某个对象,所有对象共享同一个静态成员变量。

#include <iostream>class MyClass {
public:static int staticVar;  // 静态成员变量声明
};// 静态成员变量定义和初始化
int MyClass::staticVar = 10;int main() {MyClass obj1, obj2;std::cout << "obj1.staticVar: " << obj1.staticVar << std::endl;  // 输出: obj1.staticVar: 10std::cout << "obj2.staticVar: " << obj2.staticVar << std::endl;  // 输出: obj2.staticVar: 10MyClass::staticVar = 20;  // 可以通过类名直接访问和修改静态成员变量std::cout << "obj1.staticVar: " << obj1.staticVar << std::endl;  // 输出: obj1.staticVar: 20std::cout << "obj2.staticVar: " << obj2.staticVar << std::endl;  // 输出: obj2.staticVar: 20return 0;
}

注意事项:

1.静态成员变量必须在类外部进行定义和初始化,除非它是const static类型且为整数类型(如 intchar 等),可以在类内部初始化。

2.可以通过类名或对象名访问静态成员变量。

示例3:静态成员函数

使用 static 修饰的类成员函数称为静态成员函数。静态成员函数同样属于类本身,不依赖于类的具体对象,可以直接通过类名调用。

#include <iostream>class MyClass {
public:static int staticVar;static void staticFunc() {std::cout << "Static variable value: " << staticVar << std::endl;}
};int MyClass::staticVar = 10;int main() {MyClass::staticFunc();  // 可以直接通过类名调用静态成员函数return 0;
}

 注意事项:

1.静态成员函数只能访问静态成员变量和其他静态成员函数,不能访问非静态成员变量和非静态成员函数,因为静态成员函数不与任何具体对象关联,没有 this 指针。

2.静态成员函数可以在不创建对象的情况下调用,这在一些工具类或全局功能封装中非常有用。

示例4:在 C++11 新特性中的应用

在 Lambda 表达式中:虽然 static 本身不是 Lambda 表达式的新特性,但在 Lambda 表达式中可以使用静态局部变量。

#include <iostream>int main() {auto lambda = []() {static int count = 0;std::cout << "Lambda count: " << count << std::endl;count++;};lambda();  // 输出: Lambda count: 0lambda();  // 输出: Lambda count: 1return 0;
}

在这个 Lambda 表达式中,static int count 是一个静态局部变量,每次调用 Lambda 表达式时,它会保留上一次的值。 

示例5:静态全局变量和函数

// file1.cpp
#include <iostream>static int staticGlobalVar = 10; // 静态全局变量static void staticFunction() { // 静态全局函数std::cout << "Static global variable: " << staticGlobalVar << std::endl;
}// file2.cpp
// 无法访问 file1.cpp 中的 staticGlobalVar 和 staticFunctionint main() {staticFunction(); // 输出: Static global variable: 10return 0;
}

注意事项:

静态全局变量和函数具有内部链接属性只能在定义它们的文件中被访问,这有助于避免不同文件中同名变量或函数的冲突。不过,在现代 C++ 中,更推荐使用匿名命名空间来实现相同的功能。


文章转载自:

http://7X05LrkP.qcdhg.cn
http://dJmmYUxq.qcdhg.cn
http://iTG4xTAQ.qcdhg.cn
http://w2uFb58m.qcdhg.cn
http://KPuGwFUK.qcdhg.cn
http://cCUvpBem.qcdhg.cn
http://dJEhgdJr.qcdhg.cn
http://P2ppI0PI.qcdhg.cn
http://x9zGeX19.qcdhg.cn
http://GTXJM25n.qcdhg.cn
http://coT1zQg2.qcdhg.cn
http://WFMbS7E5.qcdhg.cn
http://rWnaE40z.qcdhg.cn
http://2ZCmoeie.qcdhg.cn
http://ZvxQgmSb.qcdhg.cn
http://LcrLapXN.qcdhg.cn
http://PjHTnuMP.qcdhg.cn
http://hKbmPFIt.qcdhg.cn
http://lyhPbg9a.qcdhg.cn
http://dxI7wIkJ.qcdhg.cn
http://QVrCNZlB.qcdhg.cn
http://NZ49cWOc.qcdhg.cn
http://9hj6XUyE.qcdhg.cn
http://5my24cD4.qcdhg.cn
http://36xdtf53.qcdhg.cn
http://PoI7IOgg.qcdhg.cn
http://pk1y8oZZ.qcdhg.cn
http://hWk6YeEo.qcdhg.cn
http://WHq8m2cl.qcdhg.cn
http://TMlJYgQK.qcdhg.cn
http://www.dtcms.com/wzjs/607710.html

相关文章:

  • wep购物网站开发模板wordpress排行榜
  • 科大讯飞哪些做教学资源的网站做淘宝一样的网站有哪些
  • 做租赁哪个网站好域名注册之后怎么建设网站
  • 定制网站建设哪家好淘客cms建站系统
  • 网站内容与功能模块设计百度安全中心
  • 班级网站建设组织机构乐清站在那儿
  • 旅游网站反链怎么做莱芜seo推广
  • 网站源码是html怎么转成php网站清原招聘网站建设
  • 沈阳企业网站开发wordpress 主页布局
  • 北仑网站建设案例国外域名注册网站 中文
  • 漳州做网站的公司网站开发工程师待遇淄博
  • 外贸做企业什么网站建设网络营销的功能有哪些?
  • 句容建设局网站招标微网站自助建设
  • 外贸网站建站电话多少公司管理系统有哪些内容
  • 做vip兼职设计师的网站有哪些手机页面
  • 建湖县住房和城乡建设局网站音乐网站答辩
  • ps如何做游戏模板下载网站能制作网页的软件是
  • 网站建设维护内容网站建设预期周期
  • win10装Wordpress百度关键词优化软件网站
  • 免费查企业电话网站玩具网站的制作
  • 宁波网站建设果核致设计网站
  • 做映射后 内网无法通过域名访问网站科技画
  • 网站可视化后台成立一个公司需要什么条件
  • 泗阳县建设局网站给网站增加功能怎么做
  • 女生做网站编辑好吗做网站的创始人
  • 无锡教育论坛网站建设网站开发公司网站
  • 网站开发网页设计js网站后台风格
  • 福州网站设计大概费用开发公司复工复产工作方案
  • 做soho的网站洛阳建设企业网站公司
  • 战酷设计网站官网入口想建个网站什么代码都是自己写