使用指针

时间:2016-01-23 19:49:25

标签: c++ deep-copy shallow-copy

我的问题不是关于概念,而是关于这些词语的使用。

假设这种情况:

int *a=new int[3];
int *b=a; // It is called shallow copy

我的问题:把它称为浅拷贝是正确的吗?我看不到任何浅色的副本。 int*是一个指针,它是关于存储一些地址的。因此,在前面的示例中,关于它的每件事都被完全复制,因为实际数据不是它的一部分。那么,为什么它被称为浅而不深?

为了进一步澄清,我觉得如果有人这样做了:

std::string file_path="C:/file.txt";
std::string another_path=file path;

并调用浅拷贝,因为文件没有真正复制。

BTW,是否在C ++标准中明确定义了深层/浅层词?

0 个答案:

没有答案