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

内蒙古住房与城乡建设厅网站吉林seo基础

内蒙古住房与城乡建设厅网站,吉林seo基础,php做的购物网站代码,深圳骏域网站建设专家88作者:求一个demo 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 内容通俗易懂,没有废话,文章最后是面试常问内容(建议通过标题目录学习) 废话不多…

作者:求一个demo

版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处

内容通俗易懂,没有废话,文章最后是面试常问内容(建议通过标题目录学习)

废话不多说,我们直接开始------>>>>>>

一、static关键字

        1、介绍:在函数内部定义变量时,程序运行到定义变量的地方,会为定义的变量等在栈区分配空间,函数结束则释放。如果想要一直保留这个变量,可以定义为全局变量,但是全局变量谁都可以用。所以可以使用static关键字解决这个问题。

        2、特点:

        (1)如果static变量在定义时未赋值,编译的时候会默认赋值为0。

        (2)static主要影响着变量的生命周期作用域和存储位置。

                ①作用域:名字可以使用的区域。

                ②生命周期:在程序执行过程中对象存在的区间。

二、static静态局部变量

        1、含义:静态局部变量是在函数内定义,并用static关键字修饰的变量。

        2、特点:

                ①作用域:仍然只在定义它的函数内部可见。

                ②生命周期:整个程序运行期间都存在,而不是普通局部变量那样在函数调用结束后销毁。

                ③存储位置:存储在静态存储区(而非栈区)。

                ④初始化:只在第一次执行到定义位置处才初始化,后面都在第一次初始化的基础上进行操作,延长了变量的生命周期。

        3、示例:

三、static静态全局变量

        1、含义:在全局作用域中定义static关键字。

        2、特点:

                ①作用域:具有内部链接(internal),从原来的整个程序变为当前文件(extern声明也不行)。

                ②生命周期:仍然是整个程序运行期间。

                ③存储位置:存储在静态存储区。

                ④与普通全局变量区别:普通全局变量具有外部链接(external),可以在其他文件中通过extern访问。

        3、示例:

// add.c
static int global_val = 27;   //static 修饰全局变量//other.c
extern global_val;
int main()
{printf("%d", global_val);//会显示链接错误,无法执行return 0;
}

四、static修饰函数

        1、含义:在全局作用域中定义的static函数。

static void utility() {  // 静态函数// 函数实现
}

        2、特点:

                ①作用域:当前文件。

                ②生命周期:程序运行结束。

                ③存储位置:全局区(仍在代码段中存储)。

                ④与普通函数区别:普通函数默认有外部链接,可以在其他文件中使用。

                ⑤静态成员函数不能调用非静态成员函数(静态成员函数没有隐藏的this指针,所以不能访问非静态成员)。非静态成员函数可以调用静态成员函数。

        3、示例:

// add.c
static int add(int a, int b)
{return a + b;
}//other.c
extern add(int a, int b);
int main()
{printf("%d", add(10, 20));//会显示链接错误,无法执行return 0;
}

五、static成员初始化

        1、含义:静态成员变量不能在定义对象时进行初始化(即不能在构造函数中进行初始化),一定要在类外进行初始化(因为静态成员不属于某个对象,而是属于类)。不过静态const可以在类内进行初始化,因为静态const属于类而不是某个对象(非静态const在C++11之前不能直接在类内进行初始化,不过可以在构造函数初始化列表中初始化,因为非静态成员变量属于对象所有,每个对象对应的值可能不同)。

        2、示例:

六、总结

        1、静态数据成员:

        ①非静态成员函数内,可以访问静态成员变量。

        ②静态成员函数内,可以访问静态成员变量。

        ③静态成员函数内,不可以访问非静态成员变量。

        ④即“所有的成员函数内,都可以访问静态成员变量”

        2、静态成员函数:

        ①对象可以直接访问静态成员函数。

        ②类可以直接访问静态成员函数(A::temp())。

        ③类的静态成员函数内,不能直接访问this指针和对象的数据成员。

        ④类的静态成员函数内,只能访问类的数据成员(也就是静态数据成员)。

        3、其他:

        ①静态成员变量使用前必须先初始化(即在类外定义),如int A::temp = 0;

        ②静态成员变量为所有类对象所共享,也受访问限定符(public、private等)的限制。

        ③静态成员函数不能调用非静态成员函数,非静态成员函数可以调用静态成员函数。

        ④静态成员函数没有隐藏的this指针,所以静态成员函数可以访问类的静态成员,但是不能访问类的非静态成员(如何让类的静态成员函数访问非静态成员变量?可以把对象的指针或者引用当作参数传递给静态成员函数,如此一来,静态成员函数就能通过这个指针或引用访问对象的非静态成员。)。

七、校招面试常问内容

1、static关键字的用法?

2、静态成员变量和静态成员函数的区别?

3、static关键字的存储位置?程序内存布局如何?

        (1)存储位置:静态存储区。

        (2)程序内存布局:

                ①代码段:函数代码。

                ②数据段:已初始化的静态/全局变量。

                ③BSS段:未初始化的静态/全局变量。

                ④栈:局部变量、函数调用栈。

                ⑤堆:动态分配的内存。

4、static与单例模式的关系?

class Singleton {
public:static Singleton& getInstance() {static Singleton instance; // 静态局部变量保证线程安全(C++11起)return instance;}
private:Singleton() {} // 私有构造函数
};

        ①利用静态局部变量的线程安全特性(C++11之后)(在C++11之前,实现线程安全的单例模式,通常使用锁机制保证多线程环境下只有一个实例被创建。在C++11之后,静态局部变量的初始化是线程安全的,这意味着当一个线程正在初始化静态局部变量时,其他线程被阻塞,直到初始化完成)。

        ②避免全局变量,实现延迟初始化。

最后,如有不足和错误的地方,期待私信指正!

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

相关文章:

  • 成都专业网站建设机构重庆短视频seo优化推荐
  • server2012做网站frontpage做网站
  • 网站开发主要学些什么网站建设中 下载
  • 网站建设国内外研究现况网络广告投放形式
  • p2p电影网站开发品牌网络营销案例
  • 360网站推广登录唐山路北网站建设
  • 北京网站高端定制商务公司网站建设
  • 开发网站开源免费聊天app开发源码
  • 【郑州网站建设】建造网站需要多少钱
  • 德州中文网站建设wordpress移动客户端
  • 电子商务网站建设规划开题报告网站开发php和ui
  • 盐城市滨海县建设局网站企业建站系统免费
  • 网站建设公司网页自己制作头像的软件
  • WordPress挂在虚拟站点巩义专业网站建设公司首选
  • 上海网站搜索引擎优化六安论坛网站
  • 网站之间如何交换友情链接wordpress 密码查看
  • 建设个网站多少钱哪个网站做海南二手房
  • 移动网站 制作旅游主题网站策划书
  • 做门户网站长沙社区赚钱吗做国外房产的网站
  • 沧州网站建设的技术方案做网站怎么引用字体
  • 徐州建设银行网站绵阳做网站
  • 微信公众平台怎么做微网站wordpress 学术 模板
  • 服装店网站建设思路网站建设服务 行业代码
  • 阿里云的虚拟主机用什么做网站重庆软件开发公司有哪些
  • 苏州网站定制公司哪家好网站建设算固定资产吗
  • 网站建设太金手指六六二七已有网站开发app客户端
  • wordpress 淘客推广seo网站
  • 国外 图片网站wordpress 随机文章
  • 做二手平台公益的网站wordpress显示栏目名称
  • 长丰县住房和城乡建设局网站衡阳网站建设公司地址