gpt4 book ai didi

c++ - 使用 C++ 等效的 memmove 向右移动数组元素

转载 作者:太空宇宙 更新时间:2023-11-04 16:07:02 25 4
gpt4 key购买 nike

出于学习目的,我正在创建一个容器,该容器基于具有类似 map 功能的数组。每次我插入一个键时,我都想保持数组有序。我已经实现了函数来查找键在数组索引中的位置,我目前唯一的问题是有效地移动数组元素。

我有一个简单的循环来执行此操作:

for (size_t i = mSize; i > n; i--)
{
mCont[i] = mCont[i - 1];
}

但是,我想可能使用诸如 memmove 之类的东西来更快地完成此操作 - 但我不确定如何使用它 - 当容器变大时。

感谢您的宝贵时间。

最佳答案

您可以使用 std::move_backward :

std::move_backward( std::next( std::begin( mCont ), n ), 
std::next( std::begin( mCont ), mSize - 1 ),
std::next( std::begin( mCont ), mSize ) );

关于c++ - 使用 C++ 等效的 memmove 向右移动数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33639503/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com