[英]complex<> using list initializer vs constructor?
我正在閱讀 Stroustrup C++ 第 4 版。 第 162 頁類型和聲明。 具體來說,允許以下構造complex<>
object。
該書評論案例A是“使用構造函數”。 案例A真的是一個列表初始化程序,初始化的構造函數方法是在B或C中執行的嗎?
#include <iostream>
#include <complex>
using namespace std;
int main(int argc, char *argv[])
{
complex<double> z = { 0, 3.14 }; // A
complex<double> h(0, 3.14); // B
complex<double> i{0, 3.14}; // C
return 0;
}
complex<double> z = { 0, 3.14 }; // A
complex<double> z = { 0, 3.14 }; // A
執行 復制列表初始化(C++11 起)。
complex<double> h(0, 3.14); // B
complex<double> h(0, 3.14); // B
執行直接初始化。
complex<double> i{0, 3.14}; // C
complex<double> i{0, 3.14}; // C
執行 直接列表初始化(C++11 起)。
這種情況下的效果都是一樣的; 對象由構造函數complex::complex(double, double)
初始化。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.