相关疑难解决方法(0)

964
推荐指数
5
解决办法
11万
查看次数

以下短语在C++中的含义是什么:零,默认和值初始化?

以下短语在C++中的含义是什么:

  • 零初始化,

  • 默认初始化,和

  • 值初始化

C++开发人员应该了解他们什么?

c++ initialization c++-faq

183
推荐指数
2
解决办法
3万
查看次数

C++中不同类型的初始化

我正在学习C++,而且对于不同类型的初始化我感到很困惑.

你可以做:

T a;
Run Code Online (Sandbox Code Playgroud)

据我所知,有时会初始化a,有时也不会,具体取决于是否T有默认构造函数.

你也可以这样做:

T a(); // or
T a(1, 2, 3... args);
Run Code Online (Sandbox Code Playgroud)

; (在某些情况下):

T a = 1; // implicitly converted to T sometimes?
Run Code Online (Sandbox Code Playgroud)

; 如果没有构造函数:

T a = {1, 2, 3, 4, 5, 6};
Run Code Online (Sandbox Code Playgroud)

; 并且:

T a = T(1, 2, 3);
Run Code Online (Sandbox Code Playgroud)

.

如果你想在堆上分配,那就是

T a = new T(1, 2, 3);
Run Code Online (Sandbox Code Playgroud)

还有别的事吗?

我想知道a)我是否已经涵盖了所有类型的初始化,以及b)何时使用每种类型?

c++

15
推荐指数
1
解决办法
4328
查看次数

标签 统计

c++ ×3

c++-faq ×2

initialization ×2

constructor ×1

new-operator ×1