标准说:
当参数类型不是引用时,隐式转换 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); }
由于隐式转换序列模型的复制初始化,我预计会调用复制构造函数。但这根本不是真的。 模拟复制初始化的意思是什么?