关于构造函数

灌水区

水星湖 @ 2024-04-26 22:33:34

inline T(int i, int j) : i(i), j(j), x(a[i] + b[j]){};
inline T(int i, int j) : i(i), j(j) { x = a[i] + b[j]; }

这两种写法有什么区别呢


by 水星湖 @ 2024-04-26 22:34:05

构造函数里面的 {} 是干什么用的?


by yukimianyan @ 2024-04-26 22:44:51

函数体


by 小粉兔 @ 2024-04-27 00:27:26

如果 x 是整型的话,可以认为没啥区别

{ ... } 就和普通的函数一样,是函数体。构造函数的特殊性是可以调用成员的构造函数进行初始化。如果没被调用的话也可以在函数体内初始化。有时,成员用构造函数进行初始化是必要的。


by GzkTTT @ 2024-04-27 03:45:08

小粉兔楼下


by xzz_0611 @ 2024-04-27 06:16:56

兔队楼下的楼下!!!


by 水星湖 @ 2024-04-29 15:39:04

@小粉兔 那如果 x 是其他数据类型会怎样?应该使用哪种呢?


|