Cfront 如何插入构造函数 发表于: 2023-08-12 更新于: 2024-04-15 分类于: inside-the-cpp-object-model 字数: 193 阅读:≈ 1分钟实际上复制构造函数的插入比较困难,比如在函数返回和传参的时候。由于 C 语言是按位复制(而不是按成员),cfront 会在函数调用前插入返回值变量声明,在函数中使用局部变量运算,并在返回时调用复制构造函数从局部变量复制成员到返回值处。NRVO (Named Return Value Optimization) 则能省略返回时的复制构造:关于返回值优化 RVO 的范畴很广,NRVO 是 RVO 的一种特例。URVO(无名临时变量的优化):NRVO(具名局部变量的返回的优化):