gpt4 book ai didi

c++ - 我可以用什么代替 std::move()?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:47:35 25 4
gpt4 key购买 nike

我正在使用符合 C++0x 规范的 C++ 编译器,并希望为环绕 std::wstring 的 String 类创建 move 构造函数。

class String {
public:
String(String&& str) : mData(std::move(str.mData)) {
}

private:
std::wstring mData;
};

在 Visual Studio 中,这可以完美地工作。在 Xcode 中,std::move() 不可用。

最佳答案

std::move 只是将其参数转换为右值引用。您可以编写自己的版本:

template<class T>
typename std::remove_reference<T>::type&&
move( T&& arg ) noexcept
{
return static_cast<typename std::remove_reference<T>::type&&>( arg );
}

关于c++ - 我可以用什么代替 std::move()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10553841/

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