C++之Static与Const [TOC] 一、Static定义 1、Static意为静态成员,若Static修饰的成员位于C++类中,那么Static就实现了同一个类,多个对象共享数据,协调行为的目的。 2、静态变量具有全局变量的优势,又不会像全变量一样被滥用。C++中用于管理静态变量,就需要用 ...
分类:
编程语言 时间:
2018-07-14 11:48:42
阅读次数:
127
c++中一个类中无非有四种成员:静态数据成员和非静态数据成员,静态函数和非静态函数。 1.非静态数据成员被放在每一个对象体内作为对象专有的数据成员。 2.静态数据成员被提取出来放在程序的静态数据区内,为该类所有对象共享,因此只存在一份。 3.静态和非静态成员函数最终都被提取出来放在程序的代码段中并为 ...
分类:
编程语言 时间:
2018-07-12 16:34:07
阅读次数:
189
我们这里的生产者和消费者模型为: 生产者Producer 生产某个对象(共享资源),放在缓冲池中,然后消费者从缓冲池中取出这个对象。也就是生产者生产一个,消费者取出一个。这样进行循环。 第一步:我们先创建共享资源的类 Person,它有两个方法,一个生产对象,一个消费对象 1 2 3 4 5 6 7 ...
分类:
其他好文 时间:
2018-07-11 00:14:23
阅读次数:
211
static关键字的特点 a:随着类的加载而加载 b:优先于对象存在 c:被类的所有对象共享 d:可以通过类名调用 static的注意事项 a:在静态方法中是没有this关键字的 如何理解呢? 静态是随着类的加载而加载,this是随着对象的创建而存在。 静态比对象先存在。 b:静态方法只能访问静态的 ...
分类:
其他好文 时间:
2018-06-29 14:07:04
阅读次数:
132
只有2种成员 值成员; 指针成员; 依实现可分为raw pointer / shared_ptr; 现在,仅考虑第③种:资源对象共享 角度来考虑拷贝控制 类的两种语义:值语义、似指针 编译器提供的default版本的copy constructor/ copy assignment的语义: 1. 拷 ...
分类:
其他好文 时间:
2018-06-29 10:54:24
阅读次数:
172
一个对象是一组状态和行为 状态 : 包含在对象中的数据。 - 在Java中,这些是对象的字段(字段) 行为 : 对象支持的行为 - 在Java中,这些被称为方法 - 方法只是面向对象的函数 - 调用方法=调用函数 每个对象都有一个类 - 一个类定义方法和字段 - 方法和字段统称为成员 类定义了类型和 ...
分类:
其他好文 时间:
2018-06-23 19:07:10
阅读次数:
228
1.实例变量和类变量 实例变量:指每个对象独立的,修改其中一个对象的实例变量,不会影响其他实例变量的值,变量值无 static 关键字修饰; 类变量:是指所有对象共享的,其中一个对象把该变量的值修改了,那么所有对象的该变量的值都修改了,使用 static 关键字修饰,一般使用 「类名.属性」 来访问 ...
分类:
编程语言 时间:
2018-06-22 16:27:21
阅读次数:
159
static 关键字的特点 1. 随着类的加载而加载; 2. 优先于对象存在; 3. 被类的所有对象共享; 4. 可以通过类名调用; 内存图 构造代码块 构造代码块优先于构造方法执行,创建一个对象就会执行一次; 输出结果: 构造代码块执行 构造方法执行 final 关键字 1. 在继承中,用fina ...
分类:
编程语言 时间:
2018-06-17 13:36:38
阅读次数:
126
回归本质 class是一种特殊的struct: ? 在内存中class依旧可以看作变量的集合 ? class与struct遵循相同的内存对其规则 ? class中的成员函数与成员变量是分开存放的:(1)每个对象有独立的成员变量(2)所有对象共享类中的成员函数 值得思考的问题? 【范例代码】对象内存布 ...
分类:
编程语言 时间:
2018-06-13 15:11:27
阅读次数:
178
类的自动加载 function 完成类的自动加载 param: $clas_name 是类的名称 说明: 当程序员使用到一个未定义的类时,就会自动的触发__autoLoad这个函数, 该函数是系统提供的 静态变量是属于所有对象,可以被所有对象共享 静态变量与静态方法 静态属性是该类的所有对象共享的变 ...
分类:
其他好文 时间:
2018-06-08 16:02:48
阅读次数:
128