草庐IT

async_write

全部标签

c++ - 为什么没有 boost::copy_on_write_ptr?

我刚看到this不错的写时复制指针实现。它看起来非常通用和有用,所以我的问题是:这样的类是否包含在任何C++工具包(boost、loki等)中?如果不是,我真的很想知道为什么,因为它是一个非常有用的习惯用法,而且显然通用实现似乎是可行的(就像我链接到的那个)。 最佳答案 关于这种可能性存在很多争论,并且至少有一个建议版本最终以auto_ptr形式出现,用于引用计数的COW指针。不幸的是,COW的时代已经过去了。使COW指针(或COW-whatever)线程安全会引入严重的问题performanceproblems.编辑:重读,我觉得

c++ - 如何取消 std::async 函数?

这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:Isthereawaytocancel/detachafutureinC++11?有一个使用std::future和std::async异步运行的成员函数。在某些情况下,我需要取消它。(该函数连续加载附近的对象,有时对象在加载时会超出范围。)我已经阅读了thisquestion的答案。解决了同样的问题,但我无法让它工作。这是与我的实际程序具有相同结构的简化代码。在异步运行时调用Start()和Kill()会因input的访问冲突而导致崩溃。在我看来,代码应该按如下方式工作。当调用Kill()时,运行标志被禁用。

c++ - std::async 可以调用 std::function 对象吗?

是否可以使用std::async调用通过std::bind创建的函数对象。以下代码编译失败:#include#include#includeusingnamespacestd;classAdder{public:intadd(intx,inty){returnx+y;}};intmain(intargc,constchar*argv[]){Addera;functionsumFunc=bind(&Adder::add,&a,1,2);autofuture=async(launch::async,sumFunc);//ERRORHEREcout错误是:没有匹配函数来调用“async”:候

c++ - Visual Studio 2012 更新 2 中的 std::async 衰减(丢失)右值引用。任何解决方法?

考虑下面的代码:#include#includeusingnamespacestd;templatevoidTest2(futuref,Workw){async([](future&&f,Workw){},move(f),move(w));}intmain(){futurex=std::async([]()->int{std::this_thread::sleep_for(std::chrono::microseconds(200));return10;});Test2(std::move(x),[](intx){});return0;}以上,由于以下编译器错误而失败:Error1er

C++ : How to write a const_iterator?

我用迭代器编写了自己的容器模板。如何实现const_iterator?templateclassmy_container{private:...public:my_container():...{}~my_container(){}classiterator:publicstd::iterator{public:... 最佳答案 唯一的区别应该是,当您取消引用const迭代器时,您得到的是const引用,而不是对容器中对象的引用。 关于C++:Howtowriteaconst_itera

kotlin - 如何将 Kotlin 从 1.2 迁移到 Kotlin 1.3.0,然后在演示者函数中使用 async、UI 和 bg

我在Kotlin项目中使用MVP模式。我有一个Presenter类:importcom.google.gson.Gsonimportkotlinx.coroutines.experimental.android.UIimportkotlinx.coroutines.experimental.asyncimportorg.jetbrains.anko.coroutines.experimental.bgclassTeamsPresenter(privatevalview:TeamsView,privatevalapiRepository:ApiRepository,privatevalg

kotlin - 如何将 Kotlin 从 1.2 迁移到 Kotlin 1.3.0,然后在演示者函数中使用 async、UI 和 bg

我在Kotlin项目中使用MVP模式。我有一个Presenter类:importcom.google.gson.Gsonimportkotlinx.coroutines.experimental.android.UIimportkotlinx.coroutines.experimental.asyncimportorg.jetbrains.anko.coroutines.experimental.bgclassTeamsPresenter(privatevalview:TeamsView,privatevalapiRepository:ApiRepository,privatevalg

c++ - ofstream "<<"和 Write 有什么区别

我以二进制模式打开了一个文件,并且想写入一个文件。ofstreamofile("file.txt",ios_base::binary)inta=1;floatf=0.1;stringstr=10;ofile想知道使用" 最佳答案 operator但是,如果您正在编写非pod类型,则需要小心。你不能只说:write(&mystring,sizeof(std::string));您需要有一些方法来输出实际数据,这些数据不存储在类或结构本身中。 关于c++-ofstream" h

c++ - std::async 使用绑定(bind)到 lambda 的右值引用

我正在尝试使用std::bind将右值引用绑定(bind)到lambda,但是当我将其放入std::async调用时出现问题:(source)autolambda=[](std::string&&message){std::cout这会发出一个编译器错误,我不确定如何解释:error:notypenamed'type'in'classstd::result_of(std::basic_string)>&()>'这是怎么回事?有趣的是,稍作修改就可以按预期编译和工作。如果我将std::string{"helloworld"}更改为c字符串文字,一切正常:(source)autolambd

c++ - 关于 Copy-On-Write 和 shared_ptr 的困惑

我已经在网上搜索并通读了有关shared_ptr的Boost文档。SO上有一个响应,说写时复制(COW)的shared_ptr很糟糕,TR!已将其从字符串库中删除。大多数关于SO的建议都说使用shared_ptr而不是常规指针。该文档还讨论了使用std::unique()来制作COW指针,但我还没有找到任何示例。谈论的是拥有一个为您执行COW的智能指针,还是让您的对象对克隆对象使用新的shared_ptr然后修改克隆对象?示例:食谱和配料structNutrients;structIngredient{Ingredient(conststd::string&new_title=std: