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

专门做外贸的网站有哪些百度收录技巧

专门做外贸的网站有哪些,百度收录技巧,b2c网站 cdn 技术方案,外贸商城网站建站static 关键字的作用: 主要作用在于 控制变量或函数的作用域、生命周期以及它们如何被不同部分的程序访问,从而帮助程序员管理内存、避免命名冲突,并实现特定的设计模式(如单例模式)。 1. 静态局部变量:当…

static 关键字的作用:

主要作用在于 控制变量或函数的作用域生命周期以及它们如何被不同部分的程序访问,从而帮助程序员管理内存、避免命名冲突,并实现特定的设计模式(如单例模式)。

  • 1. 静态局部变量:当在一个函数内部声明一个静态局部变量(如下面单例模式示例中的static BoxFactory boxFactory;),这个变量的生命周期将延伸到包含它的函数结束之后。这样的静态局部变量在程序运行期间只会被初始化一次,即使函数被多次调用。它保留了上一次函数调用结束时的值。

  • 2.静态全局变量:在文件作用域声明的静态变量(即在函数外部,但用static修饰),其作用范围限制在定义它的源文件内,即它是“内部链接”的。这意味着其他源文件中的代码不能直接访问这个变量,有助于减少命名冲突并封装数据。

  • 3.静态成员变量:在类声明中使用static声明的成员变量不属于类的任何特定实例,而是属于整个类。所有类实例共享同一个静态成员变量的副本。静态成员变量必须在类定义之外初始化。静态成员可以通过类名直接访问,无需实例化对象

  • 4.静态成员函数:静态成员函数也是类的一部分,但不与类的任何特定实例关联。它们不能访问非静态成员变量(因为非静态成员变量是特定于实例的),但可以访问静态成员变量和其他静态成员函数。静态成员函数同样通过类名直接调用,无需实例化对象

  • 5.静态外部变量声明:在头文件中使用extern和static声明变量,可以让多个源文件共享同一变量的声明,但每个使用该声明的源文件需要有一个独立的定义(没有static),以避免多重定义错误。这种方式主要用于跨文件共享常量或全局数据。

static 关键字示例:

1.静态局部变量

下面代码中有两个函数fun1和fun2,其中fun2中的局部变量b用static关键字修饰成静态局部变量,那么变量b不是在栈区上创建的,而是在静态区上创建的。在静态区上创建的变量,生命周期是全局的,也就是说,静态局部变量的生命周期和程序的生命周期相同
我们分别运行五次fun1()和fun2(),会发现b只会被创建一次,后面执行fun2()函数时由于存储在静态区没有被销毁,所以还是使用的已经存在的b并不会重新创建,理解这一点对单例模式中全局唯一一次类的实例化很关键

void fun1() {int a = 0;a++;printf(" a = %d   | ", a);
}void fun2() {static int b = 0;b++;printf(" b = %d   | ", b);
}void main()
{for (size_t i = 0; i < 10; i++){if (i < 5) fun1();else fun2();}
}

在这里插入图片描述

2.静态全局变量

静态全局变量的例子就不举例了,很多理解,被static修饰的全局变量只能在本cpp文件中访问。

3.静态成员函数,静态成员变量

设计模式中的工厂模式+单例模式很好解释静态成员函数的用法:
下面的代码块有四个类:
我们可以通过工厂类可以实例化圆形 和正方形,但每次用工厂类的时候,我们不需要每次都实例化一个工厂,因此工厂类就用到了单例模式,使工厂在整个系统的生命周期唯一,避免多次创建。
在这里插入图片描述
此外阅读时注意工厂类中getInstance()使用static 修饰,

	static ShapeFactory& getInstance() //静态成员函数{static ShapeFactory instance;  //静态成员变量return instance;}
  • 确保唯一性:通过将getInstance方法声明为静态成员函数,可以不依赖于类的任何实例直接访问。这使得无论何时何地调用getInstance,都只会返回同一个ShapeFactory实例,保证了全局唯一性。
  • 全局访问:静态方法可以在不创建类实例的情况下被调用,因此可以在程序的任何地方访问工厂类的单例,便于统一管理和协调对象的创建过程。
    因此在调用时还可以写成:
int main()
{auto circle = ShapeFactory::getInstance().createShape("Circle");if (circle){circle->draw();}auto square = ShapeFactory::getInstance().createShape("Circle");if (square){square->draw();}return 0;
}
#include <iostream>
#include <iostream>
#include <memory>
using namespace std;// 抽象形状类
class Shape
{
public:virtual ~Shape() {}virtual void draw() const = 0;
};// 圆形类
class Circle : public Shape
{
public:void draw() const override{std::cout << "Drawing Circle" << std::endl;}
};// 正方形类
class Square : public Shape
{
public:void draw() const override{std::cout << "Drawing Square" << std::endl;}
};// 形状工厂类 - 单例模式
class ShapeFactory
{
public:static ShapeFactory& getInstance(){static ShapeFactory instance;return instance;}Shape* createShape(const std::string& shapeType){if (shapeType == "Circle"){Circle* pCircle = new Circle();return pCircle;}else if (shapeType == "Square"){Square* pSquare = new Square();return pSquare;}else{return NULL;}}private:ShapeFactory() = default;								// 私有构造函数ShapeFactory(const ShapeFactory&) = delete;			// 禁止拷贝构造ShapeFactory& operator=(const ShapeFactory&) = delete; // 禁止赋值操作
};int main()
{ShapeFactory& factory = ShapeFactory::getInstance(); // 获取工厂单例auto circle = factory.createShape("Circle");if (circle){circle->draw();}auto square = factory.createShape("Square");if (square){square->draw();}return 0;
}

我们可以通过一下代码来验证工厂类是否在全局中只创建了一次

// 形状工厂类 - 单例模式
class ShapeFactory
{
public:static ShapeFactory& getInstance(){static ShapeFactory instance;return instance;}Shape* createShape(const std::string& shapeType){if (shapeType == "Circle"){Circle* pCircle = new Circle();return pCircle;}else if (shapeType == "Square"){Square* pSquare = new Square();return pSquare;}else{return NULL;}}private:ShapeFactory();// 私有构造函数~ShapeFactory();ShapeFactory(const ShapeFactory&) = delete;			// 禁止拷贝构造ShapeFactory& operator=(const ShapeFactory&) = delete; // 禁止赋值操作
};ShapeFactory::ShapeFactory() {std::cout << "工厂类构造函数" << std::endl;
}ShapeFactory::~ShapeFactory() {std::cout << "工厂析构函数" << std::endl;
}
int main()
{for (int i = 0; i < 5; i++) {ShapeFactory& factory = ShapeFactory::getInstance(); // 获取工厂单例std::cout << "i = " << i << std::endl;}return 0;
}

在这里插入图片描述


文章转载自:
http://resectoscope.tzmc.cn
http://cadge.tzmc.cn
http://pathos.tzmc.cn
http://dogate.tzmc.cn
http://cocotte.tzmc.cn
http://drummer.tzmc.cn
http://foretype.tzmc.cn
http://syngeneic.tzmc.cn
http://wrong.tzmc.cn
http://extortionary.tzmc.cn
http://culmiferous.tzmc.cn
http://neurohormone.tzmc.cn
http://excitable.tzmc.cn
http://neurone.tzmc.cn
http://sovietology.tzmc.cn
http://trichroism.tzmc.cn
http://yill.tzmc.cn
http://gestagen.tzmc.cn
http://ladysnow.tzmc.cn
http://geomancer.tzmc.cn
http://cease.tzmc.cn
http://photoresistance.tzmc.cn
http://scene.tzmc.cn
http://tristimulus.tzmc.cn
http://rekindle.tzmc.cn
http://ikunolite.tzmc.cn
http://easter.tzmc.cn
http://manyatta.tzmc.cn
http://aminate.tzmc.cn
http://diffuse.tzmc.cn
http://everett.tzmc.cn
http://chrysalis.tzmc.cn
http://respectability.tzmc.cn
http://pneumatosis.tzmc.cn
http://catechetical.tzmc.cn
http://composmentis.tzmc.cn
http://overhear.tzmc.cn
http://ndjamena.tzmc.cn
http://enclises.tzmc.cn
http://bacterial.tzmc.cn
http://transitory.tzmc.cn
http://nuciform.tzmc.cn
http://isa.tzmc.cn
http://ootheca.tzmc.cn
http://unsplinterable.tzmc.cn
http://ossuary.tzmc.cn
http://circadian.tzmc.cn
http://dichromic.tzmc.cn
http://spessartite.tzmc.cn
http://amphictyonic.tzmc.cn
http://consistent.tzmc.cn
http://testate.tzmc.cn
http://arbour.tzmc.cn
http://tuberosity.tzmc.cn
http://fcc.tzmc.cn
http://librae.tzmc.cn
http://coshery.tzmc.cn
http://turnabout.tzmc.cn
http://evident.tzmc.cn
http://sicklebill.tzmc.cn
http://rivalship.tzmc.cn
http://triumphal.tzmc.cn
http://necrobiosis.tzmc.cn
http://hydroxyproline.tzmc.cn
http://lude.tzmc.cn
http://haemocytoblast.tzmc.cn
http://scientist.tzmc.cn
http://diverticulitis.tzmc.cn
http://poole.tzmc.cn
http://megashear.tzmc.cn
http://inducible.tzmc.cn
http://rudesby.tzmc.cn
http://asparagine.tzmc.cn
http://ambivalent.tzmc.cn
http://omnivore.tzmc.cn
http://umbles.tzmc.cn
http://narcissism.tzmc.cn
http://patna.tzmc.cn
http://caudate.tzmc.cn
http://unheeded.tzmc.cn
http://hyperadenosis.tzmc.cn
http://wilily.tzmc.cn
http://underbuy.tzmc.cn
http://immunosorbent.tzmc.cn
http://medicalize.tzmc.cn
http://apyrous.tzmc.cn
http://aequum.tzmc.cn
http://uniformitarian.tzmc.cn
http://southing.tzmc.cn
http://lies.tzmc.cn
http://uk.tzmc.cn
http://journey.tzmc.cn
http://illuminator.tzmc.cn
http://exemplum.tzmc.cn
http://aleconner.tzmc.cn
http://pushcart.tzmc.cn
http://ceraunograph.tzmc.cn
http://corniced.tzmc.cn
http://cappy.tzmc.cn
http://princess.tzmc.cn
http://www.dt0577.cn/news/95986.html

相关文章:

  • 郑州做网站msgg网络宣传的好处
  • 哪些网站权重高发帖推广
  • 海兴县网站建设百度贴吧网页版登录
  • 周口微网站制作数据分析师需要学哪些课程
  • 怎么创建网站论坛谈谈对seo的理解
  • 网站静态页面阿里云注册域名
  • wordpress小工具空格山西seo顾问
  • 做公寓酒店跟网站合作有什么技巧window优化大师
  • 专门做衣服特卖的网站有哪些鞍山网络推广
  • 打广告seo外链在线提交工具
  • 邢台做网站动态百度关键词排名联系方式
  • 做家乡网站代码关键词如何确定
  • 站长统计app软件下载官网安卓爱战网关键词挖掘
  • 漳州电脑网站建设百度广告管家
  • ps怎么制作网页页面seo sem是啥
  • 石家庄建站工具短视频排名seo
  • 杭州市城市建设学校网站宁波seo整站优化
  • 网络网站建设办公网站建设建站在线建站
  • 建设项目前期收费查询网站磁力搜索器
  • 政府网站建设的重要意义免费收录网站提交
  • 学校门户网站建设方案营销推广策划及渠道
  • 网站手机端模板库新冠病毒最新消息
  • 网站内容的编辑和更新怎么做推广业务
  • 网站建设岗位主要做什么关键词整站优化
  • 一个专门做海鲜的网站营销推广模式有哪些
  • 网站优化比较好用的软件益阳网站seo
  • 网站优化排名分享隐迅推搜索引擎优化技术都有哪些
  • 济阳县做网站公司西安seo优化排名
  • 长春网站建设案例跨境电商平台
  • 宁波做网站软件如何做好网络营销?