用於複雜的標準使用者定義文字
Version >= C++ 14
那些複雜的使用者文字在 namespace
std::literals::complex_literals
中宣告,其中 literals
和 complex_literals
都是內聯名稱空間 。使用 using namespace std::literals
,using namespace std::complex_literals
和 using namespace std::literals::complex_literals
可以獲得對這些運算子的訪問。
#include <complex>
#include <iostream>
int main()
{
using namespace std::literals::complex_literals;
std::complex<double> c = 2.0 + 1i; // {2.0, 1.}
std::complex<float> cf = 2.0f + 1if; // {2.0f, 1.f}
std::complex<long double> cl = 2.0L + 1il; // {2.0L, 1.L}
std::cout << "abs" << c << " = " << abs(c) << std::endl; // abs(2,1) = 2.23607
std::cout << "abs" << cf << " = " << abs(cf) << std::endl; // abs(2,1) = 2.23607
std::cout << "abs" << cl << " = " << abs(cl) << std::endl; // abs(2,1) = 2.23607
}