move-semantics 相关问题

移动语义是一种编程语言功能,当源对象是临时对象或其他过期对象时,允许复制操作被更有效的“移动”替换。

了解构造函数

LongNumber::LongNumber() : number_{0} {} LongNumber::LongNumber(const LongNumber& copyNum) : number_{copyNum.number_} {} LongNumber::LongNumber(LongNumber&& num) : number_{num.number_} ...

回答 0 投票 0

Boost.Asio - 在调用之前使用 std::move on handler

我对我经常看到的 Boost.Asio 习惯用法感到困惑 - 像这样调用处理程序(函数对象): std::move(处理程序)(param1, param2); 这样写的原因是什么?我的理解...

回答 1 投票 0

使用 std::vector 移动语义

我有一个关于 C++ 中移动语义的问题。看这个例子: 巴克类 { 民众: Buck(std::vector param) : 数据{param} {} std::vector 数据; }; 内部主要...

回答 1 投票 0

什么时候调用移动构造函数而不是复制构造函数?

我阅读了 Microsoft 教程(位于此处:https://learn.microsoft.com/en-us/cpp/cpp/move-constructors-and-move-assignment-operators-cpp?view=msvc-170)关于移动构造函数和移动赋值...

回答 3 投票 0

我对 C++ 中移动语义的心智模型很困惑

在 C++ 中使用移动语义时,我对代码的哪一部分声称数据“所有权”的概念感到困惑。 我收到双重免费错误,这对我来说没有意义。为什么我...

回答 0 投票 0

我应该调用void构造函数来重置移动语义中的对象吗?

据我所知,void构造函数的目的是将所有元素从选择状态重置到正确的新生状态,而这一状态对我来说是相当累赘的,因为我需要在从rvalue中窃取数据后再做......

回答 1 投票 -1

将rvalue引用传递给类构造函数有什么意义?

好吧,我有一个类,MyClass,我想用一个ints的向量来构造这个类。我想用一个ints的向量来构造这个类。我想把这个向量移动到对象中。这个类是没有模板的。 class Myclass { public: ...

回答 1 投票 0

如何强制std::vector使用移动构造函数而不是复制构造函数?

我想在我的应用程序中使用移动语义,而不是复制数据。以下是代码: using namespace std; struct TestData { TestData(const TestData&) = delete; TestData& operator=(......

回答 1 投票 0

如何将一个 std::vector 移动到另一个 std::vector 上?

假设我有一个std::vector的 从和std::向量 to,其中 T 是一个不可复制但可移动的类型,to 可能是空的,也可能不是。我希望所有from中的元素都被追加到to之后。...

回答 1 投票 0

在异步操作中移动复制字符串的最佳方法?

考虑到下面的例子,在异步操作中,哪种方法是最好的movcopycapture字符串的方法? 在Session中传递为&是一个好主意吗? void Client::connect(const std::string&...)

回答 2 投票 0

BOOST_STRONG_TYPEDEF和移动语义。

在我看来,BOOST_STRONG_TYPEDEF不支持移动语义(没有移动ctorassignment)。这只是一个疏忽(没有人更新旧的宏)还是有更根本的原因......

回答 1 投票 1

如何从函数中返回一个具有String类型字段的结构的Vec?

我正在做一个lexer,它的函数lex定义如下。/ ### lex / 将由/`scan_token`生成的标记推送到`self.tokens` fn lex(&mut self) -> Vec

回答 1 投票 0

如何从函数中返回一个具有String类型字段的结构的Vec?

我正在开发一个lexer,它有一个函数lex,它应该把一个扫描过的标记的向量移动到一个主程序中,然后生成一个解析器来解析这些标记,定义如下。/ ### lex ...

回答 1 投票 0

操作员[]中的完美转发

模板 class ResourceHolder { std::unordered_map > resources; public.Resource& get(const Key& key) ..: Resource& get(const Key& key) ...

回答 1 投票 1

Rcpp和移动语义

我在C++中实现了一个算法,输出一个巨大的元素数组。现在,我想在Rcpp中实现一个包装器,这样我就可以通过使用R来调用这个函数。

回答 1 投票 5

使用移动语义:rvalue引用作为方法参数。

如何仔细检查我是否正确理解了所有内容,没有遗漏任何东西 #include using std::cout; struct A { A() {cout<

回答 1 投票 -1

在派生类中定义destructor需要复制赋值操作符。

看看这个代码示例: class A { A(A&) = delete; A &operator=(A&) = delete; protected: A() { } virtual ~A() { }。/ 继承A(A&&......)所需。

回答 1 投票 0

通过输入参数的多次传递实现完美转发

考虑下面的函数accept,它接受一个T类型的 "通用引用",并将其转发到一个解析中。 ()函数对象的lvalues和rvalues的重载:模板&...

回答 2 投票 5

当在一个带有std::ref的std::线程中调用std::invoke(std::forward(...))并进行地址消毒时,出现奇怪的行为。

问题 我试图将一个lambda-closure传递给std::thread,该函数调用任意闭包函数,并带有任意闭包参数。 template< class Function, class... Args > std::...

回答 1 投票 2

编译器如何确定const引用和rvalue引用?

此C ++代码:void f(int&i){cout <

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.