我是 C++ 的新手(来自 C#),我想从一开始就得到那些记忆的东西。
在下面的片段中,一个类型的变量WorldChunkCoordinates
按值传递给内联构造函数,WorldChunk
然后将传递的坐标分配给WorldChunk::Coordinates
,我相信这也是一个复制操作。
(复制分配操作?)
如果我的假设是正确的,那么这会有点愚蠢,因为我复制了两次实例。我认为如果我通过值传递并通过引用指针分配会更好。但是WorldChunk::Coordinates
既不是指针也不是引用。
WorldChunk(WorldChunkCoordinates Coordinates) {
WorldChunk::Coordinates = Coordinates;
}
有没有办法保护我的程序免于复制实例两次?
如果是这样,怎么做?
另外:默认情况下分配 by = 总是一个复制操作吗?
并且:我怎么知道一个特定的类可能有另一个通过引用复制的复制分配操作?