gpt4 book ai didi

c++ - 原始(标量)类型的差异复制初始化和直接初始化

转载 作者:太空狗 更新时间:2023-10-29 22:54:02 29 4
gpt4 key购买 nike

<分区>

据我所知在C++中是一个初始化的形式

T x = a;

调用了复制初始化和表单中的初始化

T x(a);

T x{a};

称为直接初始化

(T...类型, x...变量名, a...表达式)

对于类类型,我认为区别很明显(在复制初始化的情况下调用复制构造函数)。

但是如果使用像 int 这样的原始(标量)类型呢?因为 int 类型没有(复制)构造函数,在

的情况下应该调用哪个构造函数
int x = 5; // copy-initialization

那有区别吗?

int x = 5; // copy-initialization of variable x
int x = {5}; // copy-initialization of variable x
int x(5); // direct-initialization of variable x
int x{5}; // direct-initialization of variable x

这里到底发生了什么?或者如果涉及原始/标量类型并且所有都是语法糖,则没有区别。类似的问题并不能完全为我解释。

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com