Aak*_*nuj 0 c++ pointers memory-address
我可以在C++中使用明确指定其内存地址的对象吗?这是因为我为每个实体(对象)分别设置了id.因此,如果我能做到这一点,我将能够通过仅添加指针来遍历所有对象.考虑一下:我有一个内存位置为x的对象.我想用内存位置x +(下一个对象的唯一id)创建下一个对象*K其中K是两个对象之间的恒定间隙(比方说)
Luc*_*ore 10
您可以使用放置new运算符指定内存.
因此,如果我能做到这一点,我将能够通过仅添加指针来遍历所有对象.
并不是的.无视答案,告诉你这样做!你不能在数组之外做指针算术.只是因为你有两个对象o1和o2位于一个在0x4,另一个在0x5,这并不意味着&o1 + 1将产生&o2.事实上,它是未定义的行为.
为了使其按预期工作,您可以动态分配内存,或者更好地使用std::vector和使用迭代器.(这就是它们的用途)