隐式转换序列模型复制初始化

时间:2014-12-03 06:54:46

标签: c++

标准说:

  

当参数类型不是引用时,隐式转换   sequence建模参数的初始化模型   论证表达。隐式转换序列就是一个   需要将参数表达式转换为该类型的prvalue   参数。

#include <iostream>

struct A
{
    A(const A&){ std::cout << "A(const A&)" << std::endl; }
    A(){ std::cout << "A()" << std::endl; }
};

struct B
{
    B(){ std::cout << "B()" << std::endl; }
    operator A(){ return A(); }
};

B b;

void foo(A) { }

int main(){ foo(b); }

DEMO

由于隐式转换序列模型的复制初始化,我预计会调用复制构造函数。但这根本不是真的。 模拟复制初始化的意思是什么?

0 个答案:

没有答案