Dilbert3322
Dilbert3322
采纳率25%
2016-06-05 06:07 阅读 1.8k

C++中对象在等号左边,右边怎么可以是个函数?

 sf::Time time = clock.restart();

左边为sfml中Time类对象,右边为clock对象中restart方法,这到底怎么回事?

相关文档:
http://www.sfml-dev.org/documentation/2.3.2/classsf_1_1Time.php
http://www.sfml-dev.org/documentation/2.3.2/classsf_1_1Clock.php#a123e2627f2943e5ecaa1db0c7df3231b

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

6条回答 默认 最新

  • caozhy 从今以后生命中的每一秒都属于我爱的人 2016-06-05 06:16

    这里右边的函数带有括号,所以time等于的是函数的执行后返回的值。

    但是确实可以让函数赋给一个变量,此时函数不加上括号,赋给的变量是函数的指针。

    点赞 评论 复制链接分享
  • freedom_wings4 freedom_wings4 2016-06-05 06:27

    把该函数的返回值赋给该对象

    点赞 评论 复制链接分享
  • ljheee ljheee 2016-06-05 06:43

    time等于的是函数的执行后返回的值。clock.restart();执行后返回一个Time类型的对象

    点赞 评论 复制链接分享
  • Yao_jianlun Bone Breaker 2016-06-05 07:47

    这个主要是把函数的返回值赋值给了左边的变量

    点赞 评论 复制链接分享
  • HOLY3KILL Mikasa_fight 2016-06-05 07:58

    图片说明
    根据楼主的网页找到了restart的函数。。从函数说明中可以看见,clock.restart()返回的是一个Time的对象
    Returns
    Time elapsed
    上述函数
    sf::Time time = clock.restart();
    其实就是将clock.restart()的返回值赋值给了Time time初始化的对象。。。假如我有一个函数returnTest()返回的是一个整数3。那么我定义了一个
    int a = returnTest(),那么我现在a就为3了啊,其实对象也是一个类型,不要想多了。。

    点赞 评论 复制链接分享
  • Jian_Yun_Rui JIAN_BOY_RISE 2016-06-05 10:10

    返回了一个对象,因此可以,就像如果返回一个int型一样左边可以是一个整形变量

    点赞 评论 复制链接分享

相关推荐