复数 - C++中的小数点 ('.) 是多少,我可以制作一个吗?

complex numbers - What is the decimal point ('.') in C++ and can I make one?

本文关键字:我可以 一个 多少 小数点 复数 C++      更新时间:2023-10-16

我现在在一个C++类中,所以这个问题主要涉及该语言,尽管我也找不到任何其他语言的信息,我有一种感觉,无论答案是什么,它可能主要是跨语言的。

在C++中,未标记的数字被假定为整数类型(例如,'4'是一个整数)各种边界标记允许对数字进行不同的解释(例如,"4"是一个字符,"4"是一个字符串)。

据我所知,只有一种一元标记:小数点。("4."是双音)。

我想创建一个新的一元标记,它指定代码中的一个常量,将其解释为创建的数据类型的成员。更根本的是,我想知道什么是"。"和','和'"',和'''是(它们不是运算符、关键字或语句,那么它们是什么?)以及编译器如何处理/解释它们。


更多信息,如果你觉得有必要:

我正在尝试制作一个复数标头,我可以将其包含在任何项目中,以进行复杂的数学运算。我知道这个库,但IMHO,它很难看,如果广泛使用,会减慢编码时间。此外,我主要是想通过编写代码来提高我的编程技能。我的目标是能够通过执行cmplx num1= 3 + 4i;形式的操作来声明一个复杂变量,其中"3"answers"4"是任意的,"i"是一个类似于小数点的标记,表示"4"为虚数。

我想创建一个新的一元标记,它指定代码中的一个常量,将其解释为创建的数据类型的成员。

您可以使用C++11中引入的用户定义的文字。举个例子,假设您有一个类类型Type,并且您想要使用num_y语法,其中numNumericType,那么您可以执行:

Type operator"" _y(NumericType i) {
    return Type(i);
}

现场演示

4"4"4.都是单个令牌,不可分割。您无法向语言在C++11中,可以定义用户定义的文字,但它们仍然由几个标记组成;对于复杂,更自然的解决方案将是支持恒定的CCD_ 9,以允许编写CCD_ 10之类的东西。(但你仍然需要C++11对CCD_ 11的支持使其成为编译时常数。)

相关文章: