可以实例化C++中的哪些类型?
我知道以下每个都直接创建一个单独的实例Foo:
Foo bar;
Foo *bizz = new Foo();
Run Code Online (Sandbox Code Playgroud)
但是,内置类型怎么样?下面是否创建了两个实例int,或者实例是要使用的错误单词和内存正在被分配?
int bar2;
int *bizz2 = new int;
Run Code Online (Sandbox Code Playgroud)
指针怎么样?以上示例是否创建了一个int *实例,或者只是为一个int *?分配内存?
会使用文字喜欢42还是3.14创建一个实例?
我已经看到了这样的论点:如果你不能对一个类进行子类化,那么它就不是一个类,如果它不是一个类,它就不能被实例化.这是真的?
只要我们谈论 C++,唯一的权威来源就是 ISO 标准。除了类和函数模板之外,从未使用“实例化”一词。
然而,它确实使用了“实例”一词。例如:
每个具有自动存储持续时间(3.7.2)的对象的实例与其块中的每个条目相关联。
请注意,在 C++ 术语中,左int值也是一个“对象”:
C++ 程序中的构造创建、销毁、引用、访问和操作对象。对象是一个存储区域。
由于new明确创建了存储区域,因此由此创建的任何内容都是一个对象,并且按照规范的先例,可以称为实例。
| 归档时间: |
|
| 查看次数: |
260 次 |
| 最近记录: |