在初始化列表中排序函数调用

时间:2013-08-19 14:16:57

标签: c++11 initialization

我想知道初始化列表中给出的函数调用的执行顺序:

#include <iostream>

class ExpandWithConstructor
{
    public:
        template < typename ... T>
            ExpandWithConstructor( T... args) {}
};

    template < typename T>
T Print( T t )
{
    std::cout << t << std::endl;
    return t;
}

int main()
{
    ExpandWithConstructor{ Print(1.1),Print("Hallo"),Print('c')};
}

执行代码给出:

c
Hallo
1.1

问:标准中定义的功能是否相反,或者不保证订购?

我使用g ++ 4.8.1。

0 个答案:

没有答案