C+中的存储类+;-误导性的名字? 是C++中的存储类(Auto,St登记,static,Extand and Sturvior)类,意思是“对象的蓝图”,还是“类”在这个上下文中有点误导? < P> >“类”在“存储类”中是否误导,是开放的争论,但我们都可以肯定地同意,“类”的含义与“类类型”中的“类”的含义完全不同,是的

C+中的存储类+;-误导性的名字? 是C++中的存储类(Auto,St登记,static,Extand and Sturvior)类,意思是“对象的蓝图”,还是“类”在这个上下文中有点误导? < P> >“类”在“存储类”中是否误导,是开放的争论,但我们都可以肯定地同意,“类”的含义与“类类型”中的“类”的含义完全不同,是的,c++,C++,正如汉斯所说,“存储类别”在现代可能更加清晰 要制作“对象[类型]的蓝图”,您可以定义一个类模板。“存储类”与“类”无关 尽管标准在这方面需要做一些整理,但只说存储类说明符(即那些关键字)更有意义 例如,可以使用extern存储类说明符声明变量。但将该变量描述为“具有外部存储类”是没有意义的。相反,这种变量的正确术语是静态存储持续时间和外部链接。也可以使用这两个属性定义变量,而无需使用extern关键字,而且无论是否还有extern声明,都没有区别 在一些地方,标准使用了类似“变量具有寄存器存储

正如汉斯所说,“存储类别”在现代可能更加清晰

要制作“对象[类型]的蓝图”,您可以定义一个类模板。

“存储类”与“类”无关

尽管标准在这方面需要做一些整理,但只说存储类说明符(即那些关键字)更有意义

例如,可以使用
extern
存储类说明符声明变量。但将该变量描述为“具有外部存储类”是没有意义的。相反,这种变量的正确术语是静态存储持续时间和外部链接。也可以使用这两个属性定义变量,而无需使用
extern
关键字,而且无论是否还有
extern
声明,都没有区别


在一些地方,标准使用了类似“变量具有寄存器存储类”的表达式,这实际上意味着“变量已使用
寄存器
存储类说明符声明”。

Microsoft Developer Network将存储类定义为,“C++变量声明上下文中的存储类是一种类型说明符,它管理对象的生命周期、链接和内存位置。” 生存期是指变量在内存中“挂起”的时间,从它被声明的时间点到它被销毁的时间点(它使用的内存被释放)。在大多数情况下,一旦变量超出范围,它的内存将被释放回操作系统以供重用

链接是指变量在包含它的文件之外的可见性

内存位置是指在内存中找到变量的位置。这不是指您可能期望的物理内存地址,而是指应用于正在运行的应用程序的内存逻辑分区。有两个逻辑内存区域称为堆栈和堆。堆栈是内存中intri所在的位置nsic数据与内存地址(指针)一起存储。它以称为堆栈的数据结构的形式运行。与自助餐厅的盘子堆栈一样,项目被推到堆栈的顶部,其他项目被进一步推下。要从堆栈中移除项目,它被弹出、使用并丢弃

堆或空闲存储区是一个内存池,用于存储应用程序在运行时动态分配的对象。对象是您将在下一个面向对象编程主题中学习的内容。您可以使用程序代码中的特定指令创建和销毁堆上的对象


从课程介绍到C++在EDX.ORG/P>中,这是一个不同的类,是的;-)只有很多词用于“类”、“类”、“ILK”等,所以它们重复使用了一个,并消除了“存储”的歧义。前面的限定词使其成为复合名词。是的

class
根据上下文的不同,可以表示不同的意思。你会发现其他单词也会出现这种情况,例如关键字。但是,如果你理解差异,那么说它的代码>误导\ <代码>是不正确的。这不是“对象”在C++中的意思。@卡梅伦:但是我们在标准中没有使用ILK作为权力的词。Maye storage class应该改名为storage ilk?C也有存储类,但没有面向对象的“类”,因此不会混淆这些词。