move 相关问题

通常指移动语义;考虑使用该标签。移动语义是一种编程语言功能,当源对象是临时对象或其他过期对象时,允许复制操作被更有效的“移动”替换。

如何将除最新文件之外的所有文件移动到文件夹中?

我有一个Windows盒子和一个包含这些文件的文件夹: 2010-07-04 20:18 81 in01_Acct_20100704001.r 2010-07-07 05:45 165 in01_Acct_20100706001.r 2010-07-07 19:41 ...

回答 3 投票 0

使用 gsutil 移动多个文件

假设我在 Google Cloud Storage 存储桶中有以下文件: 文件_A1.csv 文件_B2.csv 文件_C3.csv 现在我想移动这些文件的子集,例如 file_A1.csv 和 file_B2.csv。电流...

回答 7 投票 0

将一个库的内容复制到另一个库

我在某处读到我可以将备份从一个保管库复制到另一个保管库。我一直找不到任何引导我走向正确方向的东西。 我的目的是这样做,这样我就可以解决这个事实......

回答 2 投票 0

移动 std::vector 的构造函数

我发现了一个有趣的问题,但我不确定原因。这是我的代码: #包括 #包括 使用命名空间 std; std::vector&& fun_...

回答 1 投票 0

取消隐藏父表和子表并移至索引表右侧

我用列表框调用父表,父表应该移动到“索引”表的右侧,然后是带有数组表的案例陈述,这是Ch...

回答 1 投票 0

MacOS Sequoia 键盘快捷键可在不同屏幕之间移动窗口

我的计算机上有三个屏幕,但在会议中共享屏幕时我只使用其中一个屏幕,我需要一个快速键盘快捷键将窗口移动到我用于共享的屏幕。 我用...

回答 1 投票 0

让 Snake 移动更流畅,看起来像 Google Snake 一样

尝试制作一款零食游戏,就像大多数游戏开发者所做的那样,但我的版本有点复杂,因为我没有使用单一的绿色或黑色盒子来代表蛇,我使用不同的精灵来代表蛇头......

回答 1 投票 0

VBA 代码,用于在两列上旋转职位/姓名列表,向上一行(顶行将落在最后),但不包含空白单元格

VBA 代码可以将一行两列与位置/名称同步旋转,以便顶行始终落在最后一个位置。代码应该忽略空白单元格,只旋转 c...

回答 1 投票 0

如何使用ROBOCOPY移动文件名中带有%的文件? [已关闭]

我尝试根据文件名将文件从一个位置移动到另一个位置。 Robocopy 似乎无法处理某些字符。文件名中带有“%”的文件不会被移动。 例如我有一个...

回答 1 投票 0

C++17 复制省略规则并隐式移动

有下面一段代码 #包括 A类{ 民众: A() {} // 显式移动构造函数 A(A&&) 没有例外 { std::cout << "move c...

回答 1 投票 0

文件移动到另一个文件夹laravel

我需要最近 7 天的存储日志才能移动新文件夹。但是,我无法移动它们并收到此错误。 重命名(/var/www/html/eMarketing/storage/logs/old-log-2020-02-27,/var/www/html/eMarketing/sto...

回答 1 投票 0

批量命令移动名称包含一定数量字母数字字符的文件

我有数百个文件,这些文件在创建时会生成一个包含 15 个字符或 32 个字符的随机文件名。我只需要定位要移动的 32 个字符文件。我需要这是一个批量通信...

回答 2 投票 0

在 C++ 中,当仅移动类型的右值按值传递给函数时,幕后会发生什么?

我试图更好地理解 C++ 中的值类别,但我遇到了一些让我有点困惑的代码。 我查看了一些问题,例如按值或 rva 接受仅移动参数...

回答 1 投票 0

将 std::unique_ptr 传递给 std::bind

如果我传递简单的整数或字符串,一切都可以。但是当我传递 unique_ptr 时,它会移动到绑定对象(bind_f)内,并且我无法调用bind_f(); #包括 #包括 #包括<

回答 1 投票 0

了解编译器何时复制、移动或就地构造

我一直在阅读复制和移动语义,以提高我对何时使用 T 与 T const & 与 T && 的了解 我写了一小段测试代码来验证我的直觉 #包括 我一直在阅读复制和移动语义,以提高我对何时使用 T vs T const & vs T && 的了解 我写了一小段测试代码来验证我的直觉 #include <iostream> #include <utility> #include <vector> template< int i > struct Example { Example(){ std::cout << "("<< i<<") was made\n"; } Example( Example const & ){ std::cout << "("<< i<<") was copied\n"; } Example( Example && ){ std::cout << "("<< i<<") was moved\n"; } ~Example(){ std::cout << "("<< i<<") was destroyed\n"; } std::vector< int > x = {1,2,3,4}; }; template< int i > struct Test { Example< i > example; // Test( Example< i > example ): example( example ) {} // Test( Example< i > const & example ): example( example ) {} // Test( Example< i > && example ): example( std::move(example) ) {} }; int main() { Example<1> example1; Example<2> example2; std::cout << "Test1\n"; Test test1{ example1 }; std::cout << "Test2\n"; Test test2{ std::move(example2) }; std::cout << "Test3\n"; Test test3{ Example<3>() }; std::cout << "Tests done \n"; } 这会产生我期望的输出: (1) was made (2) was made Test1 (1) was copied Test2 (2) was moved Test3 (3) was made Tests done (3) was destroyed (2) was destroyed (1) was destroyed (2) was destroyed (1) was destroyed g++ -std=c++20 -O3 向 Test 添加显式构造函数 Test( Example< i > const & example ): example( example ) {} Test( Example< i > && example ): example( std::move( example ) ) {} 仍然符合我的直觉,因为现在只有复制和移动,test3现在诉诸于使用移动。 但是当仅定义以下构造函数时 Test( Example< i > example ): example( example ) {} 我明白了 (1) was made (2) was made Test1 (1) was copied (1) was copied (1) was destroyed Test2 (2) was moved (2) was copied (2) was destroyed Test3 (3) was made (3) was copied (3) was destroyed Tests done (3) was destroyed (2) was destroyed (1) was destroyed (2) was destroyed (1) was destroyed 虽然我能理解example1的额外副本,但它对我来说仍然显得很奇怪。然而,与example3发生的事情结合起来是没有意义的,我要么也期望两份副本,要么移动。 我一直有这样的印象: 如果您计划获取资源的副本,则按值传递,并且如果将临时值传递给此函数,则编译器可以使用移动,甚至就地构造对象 如果您计划仅查看对象 (const &) 或者计划设置值,则可以通过左值引用传递。 如果您计划获得资源的所有权,则可以传递右值引用。 在这个例子中,情况似乎并非如此,如示例中给出的 Example 包含一个向量,因此复制不是最轻的操作,移动会更好。 所以我的问题总结是: 为了避免昂贵的副本并允许就地构建,什么时候应该使用T、T&、T const &和T&&(也许是T const &&)。 这也是在函数的上下文中,而不仅仅是构造函数。 (注意:在构造到位后,我的意思是最初 test3 所示的现象,其中临时对象既没有移动也没有复制到 test3 中) 总之,优先参考T&,除非字体很小,比如int。如果调用者代码不会使用该类型,请考虑 T&& + std::move()。 代码的简单性比速度更重要,除非您测量到这是程序的热点。 您在评论中链接的 C++ 核心指南:https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#fcall-parameter-passing

回答 1 投票 0

使用ropocopy移动文件名中带有%的文件

我尝试根据文件名将文件从一个位置移动到另一个位置。 Robocopy 似乎无法处理某些字符。文件名中带有“%”的文件不会被移动。 例如我有一个...

回答 1 投票 0

如何统一限制沿相机边界的移动

请帮我引入对玩家沿摄像机边界移动的限制。一开始我只使用box collider 2d,但是敌人正在撞到它。随着手机屏幕的变化...

回答 1 投票 0

如何在wpf图像之间移动焦点

在此输入图像描述 你好。 有多个图像,其中一个图像处于对焦状态并具有红色边框。 我希望当选择右侧或左侧时边框移动到下一个图像...

回答 1 投票 0

在函数调用后使用

使用 std::moved 强制转换的对象到底何时被移动? 例如,下面的代码是否构成移动后使用? f(std::move(a), a.Something()) 其中 f = f(A a, int x) 并且 a 是一个实例...

回答 2 投票 0

Outlook VBA 将电子邮件移动到子文件夹

我发现此代码可将电子邮件移动到收件箱中的文件夹。 它适用于根目录中的文件夹,但如何添加多个级别的子文件夹。所以我可以将文件夹移动到“Agresso”,但不行...

回答 1 投票 0

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