首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

对于返回成员函数的int,Future get()返回void

对于返回成员函数的int,Future get()返回void。

在这个问题中,我们需要理解Future和成员函数的概念。

Future是一种用于异步编程的模型,它表示一个可能还没有完成的操作的结果。通过Future对象,我们可以在程序的其他部分获取操作的结果。

成员函数是定义在类中的函数,它可以访问类的成员变量和其他成员函数。

在这个问题中,返回成员函数的int意味着我们有一个成员函数,其返回类型为int。而Future get()是一个用于获取Future对象结果的方法,它的返回类型是void,即没有返回值。

这意味着当我们调用Future对象的get()方法时,我们无法直接获取到成员函数的返回值。可能的原因是,成员函数的执行是异步的,而get()方法是一个阻塞调用,它会等待操作完成并返回结果。由于get()方法的返回类型是void,我们无法直接获取到成员函数的返回值。

解决这个问题的方法是使用其他的方式来获取成员函数的返回值。一种常见的方式是使用回调函数或者Lambda表达式来处理成员函数的返回值。通过在成员函数中设置回调函数或者Lambda表达式,当成员函数执行完成后,可以将返回值传递给回调函数或者Lambda表达式进行处理。

在腾讯云的产品中,可以使用腾讯云函数(Tencent Cloud Function)来实现异步编程和处理成员函数的返回值。腾讯云函数是一种无服务器的计算服务,它可以让您以事件驱动的方式运行代码,无需关心服务器的管理和维护。您可以在腾讯云函数中定义成员函数,并使用回调函数或者Lambda表达式来处理返回值。

腾讯云函数的相关产品介绍和链接地址如下:

  • 产品名称:腾讯云函数(Tencent Cloud Function)
  • 产品介绍链接地址:https://cloud.tencent.com/product/scf

通过使用腾讯云函数,您可以实现对返回成员函数的int的处理,并在云计算领域中进行开发和应用。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

返回类型引用(ref-qualified)C++成员函数暗示了什么?

一、引子:返回引用类型成员函数是 暗示了使用它this指针是左值还是右值。反过来说,如果一个成员函数返回引用类型,那么对this指针是左值还是右值都是调用同一个函数。...----二、解释:先说结论,来说一个c++一个理解。如果成员函数是有一致性(consistency),那么non-const, non-static函数 总是要被&( &-qualified)。...----三、扩展当然书写设计自己成员函数,不一定都有必要去做ref-qualified,但是这里我带你看一些使用ref-qualified真实例子。...有时候一个成员函数需要有能力从类中取到资源,那么他就能被右值rvalue call到,否则,它就是const修饰成员函数。...----四、未来C++23在 C++23 有显式对象, 因为用户可以forward上次references. 也有可能简单地写一个non-static成员函数

17820

【C++】C++ 类中 this 指针用法 ③ ( 全局函数成员函数 相互转化 | 有参构造函数设置默认参数值 | 返回匿名对象与返回引用 )

, 这个增加参数是 对象本身指针 ; 在 Student 类中 , 定义了如下函数 : // 成员函数 转为 全局函数 , 多了一个参数 Student* pThis 作为第一个参数 void...print 成员函数 , 转为 全局函数 , 转换后代码为 : // 将成员函数 void print() // 转为 全局函数 void Student_print(Student* pThis)..., 将 两个 Student 对象相加 , 返回是一个匿名对象 , 该匿名对象 是在 成员函数 中新创建对象 ; // 成员函数中, 将两个 Student 对象相加 // 全局函数 转为 成员函数...是指针指向 自身对象 return *this; } // 成员函数 转为 全局函数 , 多了一个参数 Student* pThis 作为第一个参数 void print() {...int height; // 身高 }; // 将成员函数 void print() // 转为 全局函数 void Student_print(Student* pThis) { cout

18620

UNIX(多线程):19---Future 类型详解

std::promise::get_futureget_future 为 promise 类成员函数,详见 C++11 并发指南四( 详解一 std::promise 介绍)。...std::packaged_task::get_future,此时 get_future 为 packaged_task 成员函数,详见C++11 并发指南四( 详解二 std::packaged_task...specialization (3) void future::get(); // when T is void 当与该 std::future 对象相关联共享状态标志变为 ready...后,调用该函数返回保存在共享状态中值,如果共享状态标志不为 ready,则调用该函数会阻塞当前调用者,而此后一旦共享状态标志变为 ready,get 返回 Provider 所设置共享状态值或者异常...std::shared_future 其他成员函数 std::shared_future 成员函数和 std::future 大部分相同,如下(每个成员函数都给出了连接): operator=():

57620

UNIX(多线程):12---async、future、packaged_task、promise

这个std::future对象里边就含有线程入口函数返回结果(线程返回结果),我们可以通过调用future对象成员函数get()来获取结果。...下列程序通过std::future对象get()成员函数等待线程执行结果并返回结果. 这个get()函数很牛,不拿到将来返回值 誓不罢休,不拿到值我就卡在这里等待拿值。...std::future ret = myTask.get_future(); //future包含有线程入口函数返回结果,这里保存mythread返回结果 cout ret = myTask.get_future(); //future包含有线程入口函数返回结果,这里保存返回结果 cout ret = myTask2.get_future(); //future包含有线程入口函数返回结果,这里保存返回结果 cout << ret.get() << endl; //主线程执行

42820

CC++开发基础——std::future与async异步编程

一,std::future与std::promise std::future是一个类模板,存放了线程入口函数返回结果,调用std::future对象get()函数可以拿到返回结果。...因此,std::promise是线程计算结果输入端,std::future是线程计算结果输出端。 3.std::future常用成员函数 1.get:阻塞式地获得线程返回结果。...4.std::promise常用成员函数 1.set_value:指定线程返回结果。 2.get_future返回与线程关联future。 3.set_exception:指定线程返回异常。...std::shared_future可以让多个线程共享同一个状态,从而实现多线程通信。 std::shared_future常用成员函数 1.get:阻塞式地获得线程返回结果。...std::packaged_task是一个类模板,常用成员函数get_future(),用于返回一个关联std::future对象,使用std::packaged_task时可以不需要显式地使用std

50610

【Example】C++ 标准库多线程同步及数据共享 (std::future 与 std::promise)

公共成员函数表: 名称 作用 operator= 移动 future 对象,移动! share() 返回一个可在多个线程中共享 std::shared_future 对象。 get() 获取值。...future_status 枚举:为计时等待函数返回原因提供符号名称。...5,std::promise set 操作函数只能被调用一次。 6,std::promise  get_future() 函数只能被调用一次。...get_future() 返回具有相关联异步状态 std::future 对象。 operator() 执行该可调用对象。...若选择 async 策略,则关联线程完成同步于首个等待于共享状态上函数成功返回,或最后一个释放共享状态函数返回,两者先到来者。 完工!

1.4K30

Java并发编程之Future与FutureTask

简述 我们都知道实现异步可以通过Runnable接口来实现,但是Runnable接口是无法获取任务返回,如果需要获取到任务返回值,那么就需要利用Future机制了。...Future提供api 1.cancel() 用来取消任务,如果取消任务成功则返回true,如果取消任务失败则返回false 2.isCancelled() 用来判断任务是否已经被取消,如果已经取消返回...4.get() 用来获取任务返回结果,如果任务还没有结果,那么就会阻塞,直到任务结束获取到结果 5.get(long timeout, TimeUnit unit) 也是用来获取任务返回结果,如果任务还没有结果...,需要传递一个Callable,在构造函数中会把传进来Callable保存到成员变量中,并且初始化FutureTask状态为NEW状态。...(所有被get()方法阻塞线程都需要被唤醒) private void finishCompletion() { // assert state > COMPLETING; for (

35120

C++基础 多线程笔记(二)

future & async std::async为一函数模板,用来启动一 异步任务(即自动创建一线程并执行对应线程入口函数),之后返回一个std::future对象(对象中包含线程函数返回结果),...最后通过future对象.get()成员函数来获取结果。....get()成员函数等待子线程返回结果,否则一直等待(注:只能get一次,多次调用则报异常) 与之类似的.wait()成员函数只等待结果,不获取结果(类似于join()) 如果.get()和 .wait...>using namespace std; int factorial(future&f)//阶乘函数{ int res = 1; int N = f.get(); for (int i =... p;//主线程中int变量(“约定型”变量) future f = p.get_future();//该变量值值约定从“将来”future获得 cout << "pass the

50810

UNIX(多线程):18---异步任务提供者(Provider) 介绍(续)

std::packaged_task::valid 介绍 检查当前 packaged_task 是否和一个有效共享状态相关联,对于由默认构造函数生成 packaged_task 对象,该函数返回 false...\n"; return 0; } std::packaged_task::get_future 介绍 返回一个与 packaged_task 对象共享状态相关 future...调用该函数一般会发生两种情况: 如果成功调用 packaged_task 所包装对象,则返回值(如果被包装对象有返回值的话)被保存在 packaged_task 共享状态中。...如果被包装任务是指向类非静态成员函数指针,那么 std::packaged_task::operator() 第一个参数应该指定为成员函数被调用那个对象,剩余参数作为该成员函数参数。...() 成员函数

37410

c++11线程池实现原理及回调函数使用

c++11虽然加入了线程库thread,然而 c++ 对于多线程支持还是比较低级,稍微高级一点用法都需要自己去实现,还有备受期待网络库,至今标准库里还没有支持,常用asio替代。...); std::vector > results; //lambada表达式 匿名函数线程中执行 pool.commit([] { std::cout...,可以获取执行返回值 //不直接支持类成员函数, 支持类静态成员函数或全局函数,Opteron()函数等 class ThreadPool { using Task = function<void...()获取返回值会等待任务执行完,获取返回值 // 有两种方法可以实现调用类成员, // 一种是使用 bind: .commit(std::bind(&Dog::sayHello, &...>::type, 函数 f 返回值类型 auto task = make_shared>( bind(forward

1.1K20

std future get_waitkey(0)

大家好,又见面了,我是你们朋友全栈君 一、关于std::future成员函数wait_for(): 1.1 关于std::future_status: std::future_status是一个枚举类型...}; 1.2 wait_for(): 返回值类型为future_status,该函数将本线程阻塞在当前,并等待一段时间,后继续执行,若在等待时间内wait_for()绑定线程执行完毕,则返回ready...: 阻塞在wait_for()处等待异步线程结束 阻塞在get()处等待异步线程结束 阻塞在return 0;处等待异步线程结束 get()函数只能使用一次,因为get()函数设计是一个移动语义,相当于将...在实际开发中,有时候某线程值不止被一个线程所需要,而get()却只能只用一次,这时可以通过std::shared_future达到多次通过get()获取值目的: std::futuremyf...::shared_future即可多次调用get()获取线程返回

36430

Java是如何实现Future模式?万字详解!

最重要区别就是Thread是没有返回结果,而Future模式是有返回结果。 2 如何使用Future 前面搞明白了什么是Future,下面我们再来举个简单例子看看如何使用Future。...从以上代码中可以看到,我们使用Future主要有以下步骤: 新建一个Callable匿名函数实现类对象,我们业务逻辑在Callablecall方法中实现,其中Callable泛型是返回结果类型;...Future.get()方法获取结果即可,此时若异步任务还没结束,此时会一直阻塞等待,直到异步任务执行完获取到结果。...void run(); } RunnableFuture是Future和Runnable接口组合,即这个接口表示又可以被线程异步执行,因为实现了Runnable接口,又可以获得线程异步任务执行结果...思考: FutureTask覆写run方法返回类型依然是void,表示没有返回值,那么FutureTaskget方法又是如何获得返回呢?

56440

来聊聊C++中头疼线程、并发

异步任务:自动创建一个线程并开始执行对应线程入口函数,他返回一个std::future对象 这个future对象里面含有线程入口函数返回结果,我们可以通过调用future对象成员函数get()来获取结果...t1.join(); std::future res=mypt.get_future(); //std::future对象里包含线程入口函数返回结果 cout...std::future fu=myprom.get_future();//promise和future绑定,用于获取线程返回值 auto result=fu.get(); }...future其他成员函数\shared_future\atomic std::future成员函数 std::future res=std::async(my_thread); std::...函数设计是一个移动语义.再次对对象进行get时,自然就没东西可以get了. std::shared_future是个类模板,它get()函数是复制数据,可以实现多次get std::future<int

4.7K41
领券