草庐IT

promise-style

全部标签

c++ - -Werror=old-style-cast 的意义?

我正在使用将一些整数转换为float以进行除法的代码。size_ta;uint8_tb,c;a=(float)b/(float)c;我在编译时启用了警告标志,我得到了一个用于“旧类型转换”的警告标志。有没有更好或更合适的方式来转换这些东西?如果是,怎么办? 最佳答案 旧式转换是“C风格”转换。-Werror=old-style-cast将C风格转换的使用变成错误。你应该使用C++casts.在这里你可以使用一个static_cast:size_ta;uint8_tb,c;a=static_cast(b)/static_cast(c)

C++ Cereal : serialize C-style array

你能/如何使用cereal序列化一个数组?图书馆。即voidsave(Archive&ar,constunsignedintversion)const{unsignedintl=g1_size_bin(g,POINT_COMPRESS);uint8_tdata[l];memset(data,0,l);g1_write_bin(data,l,g,POINT_COMPRESS);ar(l);ar(data);//whatshouldbehere}那行不通(我也不希望如此)。也不ar(cereal::binary_data(data,l));(我认为这会起作用,因为它看起来像人们会使用的增强

C++ 什么是 std::shared_future 和 std::promise

我了解什么是std::future但我不了解何时以及如何使用std::shared_future和std::promise,而且我在网上找不到很好的解释。我会很感激一些帮助我解决这个问题。顺便说一句,这里的例子不是很清楚http://en.cppreference.com/w/cpp/thread/shared_future 最佳答案 std::shared_future当您需要拥有std::future的多个有效拷贝时,并且可能是上述std::future的多个消费者.您可以移动std::future进入std::shared_f

一文搞懂 Promise 新 Api allSettled 的用法和 all 区别,以及如何在不支持新特性的环境下实现一个 Polyfill

开始一文搞懂Promise新ApiallSettled的用法和all区别,以及如何在不支持新特性的环境下实现一个PolyfillallSettled的用法construnAllSettled=async()=>{constsuccessPromise=Promise.resolve('success')//一个正常返回的PromiseconstfailPromise=Promise.reject('fail')//一个异常返回的Promise//使用allSettledconstsettiled=awaitPromise.allSettled([successPromise,failPromi

12.使用Promise封装Ajax

步骤都差不多,只是新创建了一个Promise对象,成功时调用resolve函数,失败时调用reject函数,然后再将这个promise返回出去functionajax(options){letpromise=newPromise(function(resolve,reject){//创建xhr对象constxhr=newXMLHttpRequest();//初始化参数的内容options=options||{};options.type=(options.type||'GET').toUpperCase();options.dataType=options.dataType||'json';/

GCC 中的 C++11 thread_pool、futures、promises 支持

是N2276中的任何一个gcc支持吗?我目前使用的是4.6.1,其中std::thread似乎工作正常。如果不是,我应该使用boost'sthreadpool?什么是可以轻松过渡到最终futures、promises和thread_pool的良好替代方案/权宜之计?也许this有用吗?N2276似乎没有列出here.我想知道N2276的任何特性是否会被纳入-我想我读到了有关futures和promises以及其他进入C++11的范例:将不得不谷歌看看周围发生了什么。 最佳答案 gccC++librarystatuspage显示其中大

c++ - std::promise<T> 是线程安全的吗?

它安全吗,就像std::mutex的情况一样对于std::promise待制mutable,还是取决于T?如:usingData=std::tuple;structX{std::futureprepare()const{returnm_promise.get_future();}voidasyncHandler(inta,intb)const{m_promise.set_value({true,a,b});}voidcancel()const{m_promise.set_value({false,0,0});}mutablestd::promisem_promise;//Isthiss

c++ - 在代码中使用 Style 自定义 Qt slider 时, handle 偏离凹槽

在mostexamples,自定义Qtslider是这样完成的(使用样式表):mySlider=newQSlider(centralWidget);mySlider->setObjectName(QStringLiteral("mySlider"));mySlider->setGeometry(QRect(645,678,110,21));mySlider->setOrientation(Qt::Horizontal);mySlider->setStyleSheet("QSlider::groove:horizontal{background-image:url(:/main/grap

c++ - 计时代码 "C2440: ' <function-style-cast >' : cannot convert from ' _CR' to 'std::chrono::milliseconds' 中的一个奇怪错误

我偶然发现了一个奇怪的错误C2440:'':cannotconvertfrom'_CR'to'std::chrono::milliseconds'基本上相当于HowardHinnant'sanotherquestion中的代码.这应该在VisualStudio2012RC上编译吗?这个问题的原因是什么?修复或解决方法如何?我的目标只是创建一个简单的计时器(没什么太严肃的),所以如果存在这种效果,将采取点-以及其他实现线索。问题代码如下。用法:timers::stopwatchw;w.start();std::cout并且头文件是(为简洁起见省略了实现)namespacetimers{c

c++ - std::promise 可以从非 POD 对象生成吗?

我的应用程序所做的其中一件事是监听和接收来自套接字的有效负载。我从不想阻止。在收到的每个有效负载上,我想创建一个对象并将其传递给工作线程,直到稍后再忘记它,这就是原型(prototype)代码的工作方式。但是对于生产代码,我想通过使用方便的异步方法来降低复杂性(我的应用程序很大)。async从promise中获取future。为此,我需要在下面由Xxx类表示的非POD对象上创建一个promise。我看不到有任何方法可以做到这一点(请参阅下面我的示例代码中的错误)。这里用async合适吗?如果是这样,我如何构建一个比int更复杂的promise/future对象(我看到的所有代码示例都使