cost 249 ms
r 值生命周期问题(作用域后堆栈使用):如何移动 std::initializer_list - r-value lifetime issue (stack-use-after-scope): How to move std::initializer_list

用法我有两个类,它们为我提供了一个基于循环的范围计数器(有点像简单的范围 v3 库)。// Usage with l-values std::initializer_list<int> li = {10, 11, 12, 13, 14}; for (auto [value, index ...

有效使用 std::move 将所有 object 个实例聚合到一个 std 容器中 - efficient use of std::move to aggregate all object instances in a std container

我需要将我程序中的某些实体创建集中地累积到一个容器中,我想使用 std::move 的效率和一个移动构造函数来将程序中任意位置创建的所有实体聚合到一个容器中,而无需额外的复制或实例分配。 不幸的是,使用最流行的 std::vector 容器会带来向量内部管理开销(或者依赖于编译器实现??) 例如 产 ...

关于 std::move 的一些事情 - Something about std::move

我认为在第 3 行,str3 将窃取 str1,因为将调用 std::string(std::string &&str)(或类似的东西)。 但结果是: 我想知道为什么内容 str1 在第 3 行之后仍然存在。 我尝试将str1直接移动到str4,结果是: 所以一直搞不清楚str4和 ...

如何正确执行以下操作:将 unique_ptr 传递给 lambda,然后将此 lambda 传递到其他地方 - How to correctly do the following: passing unique_ptr to lambda, then passing this lambda somewhere else

我已经编写了这段代码,这意味着 lambda 将拥有唯一的指针,但我还必须将此 lambda 传递给其他函数以在那里调用。 我有这样的错误 我正在寻找如何正确地做我需要的事情的方法。 ...

如何创建请求并使用异步请求中的数据? - How to create a request and use the data from an async request?

我正在开发一个函数,该函数向 API 发出请求、提取数据并在将数据作为特定类型的 Vector 返回之前对其进行解析。 因为这是 Yew 项目的一部分,所以 tokio 和其他包不兼容。 我正在使用wasm-bindgen-futures crate 和内部的spawn_local函数。 以下是完 ...

我在我的主文件中使用了 object(?) 尽管之前已经转移了所有权? - I used an object in my main file (?) despite having transferred ownership before?

我使用了移动语义 我main有: 我后来才意识到,在转让所有权后,我错误地在main的主体中调用了f_bar_mat 。 但是,代码仍然有效; 我没有收到错误消息。 有人可以帮助我理解这种行为吗? 我的猜测是std::move然后简单地求助于深拷贝。 或者,我应该收到分段错误还是会引用f_bar_ ...

实施交换 function 以在自己的容器 class 中获取移动构造函数 - Implement a swap function to get a move constructor in own container class

在std::map或std::vector等所有标准容器中,都有一个移动构造函数和一个移动赋值以避免复制。 我想构建我自己的具有相同功能的Wector class。 我的 class 声明如下所示: 要实现移动分配和构造函数,我需要一个 customer swap 。 但是我不知道如何在不直接访问数 ...

是否有可能在析构函数中知道右值引用正在被删除? - Is it possible to know in a destructor that an r-value referrence is being deleted?

我正在测试我自己的 RAII 指针实现,它做了一些奇怪的事情(按设计)。 为了测试它,我制作了一个 class 来跟踪构造函数和析构函数,并确保所有内容都被删除和创建一次。 但是我不断收到一个错误,说我删除了两次。 很奇怪,对吧。 我找出了原因,您可以通过运行下面的示例看到它。 这不是最初产生它的 ...

为什么在移动赋值运算符中对内置类型使用 std::swap 而不是赋值? - Why use std::swap instead of assignment for built-in types in a move assignment operator?

我是 C++ 新手,这可能是一个愚蠢的问题。 我正在阅读C++ 中的数据结构和算法分析一书,其中提供了用户定义的向量class 模板的实现。 这是它的一个片段 我觉得有些操作是多余的,这是我的草稿↓ 为什么作者会在这里使用std::swap ? 据我所知, std::swap是使用移动语义实现的, ...

C++ 增长 std::vector 的可移动引用计数指针 - C++ growing std::vector of movable reference counting pointer

我有一个实现引用计数的 class : 它的唯一数据成员是指向包含侵入性引用计数的 object 的指针 “5 规则”方法都声明为 noexcept 默认构造函数将指针数据成员初始化为nullptr 移动操作将移动的指针数据成员设置为nullptr 当指针数据成员为nullptr时,析构函数实际上是 ...

是否可以将向量移动到不同类型的向量中? - Is it possible to move a vector into a vector of different type?

假设,我有两个与 arguments 一起使用的函数,它们是不同类型的向量: 如果在我的代码的某个地方我想将相同的向量 object 传递给这两个函数怎么办? 显然,我不能只将一种类型的向量转换为不同类型的向量,所以我必须创建第二个向量: 但是如果我确定在调用foo(v) v不再需要 v ,我想要 ...


 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM