Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/138.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 整数后缀J是什么意思?_C++_C_Integer_Suffix - Fatal编程技术网

C++ 整数后缀J是什么意思?

C++ 整数后缀J是什么意思?,c++,c,integer,suffix,C++,C,Integer,Suffix,我有以下资料来源: int main() { 000J; } 使用GCC4.8.4,它编译时不会出错。 我知道有像L或U这样的后缀,但我没有找到关于J的任何东西 那么它做什么呢?我收到一个警告: 虚常数是GNU的扩展 J后缀是一个GNU扩展,它使文本为\u复合类型 这里有更多信息:正如zenith提到的,这是一个用于编写虚拟文本的GNU扩展。我真的很想评论一下使用j达到这个目的的理由,因为伊玛列特想知道,但我没有足够的声誉来评论zenith的答案。无论如何,我会把这个作为一个答案,因为它可能会

我有以下资料来源:

int main() { 000J; }
使用GCC4.8.4,它编译时不会出错。 我知道有像L或U这样的后缀,但我没有找到关于J的任何东西

那么它做什么呢?

我收到一个警告:

虚常数是GNU的扩展

J
后缀是一个GNU扩展,它使文本为
\u复合类型


这里有更多信息:

正如zenith提到的,这是一个用于编写虚拟文本的GNU扩展。我真的很想评论一下使用
j
达到这个目的的理由,因为伊玛列特想知道,但我没有足够的声誉来评论zenith的答案。无论如何,我会把这个作为一个答案,因为它可能会对其他人有所帮助


如前所述,
i
j
都可以使用此GNU扩展来编写虚拟文本。使用
i
进行此操作的原因很明显,但是使用
j
的原因是
j
通常用于表示电气工程和控制系统工程中的假想单元,以防止混淆,因为
i
已经用于表示这些上下文中的电流。

确保使用
-std=c++11-pedantic
编译避免编译器扩展。默认情况下,它将使用
-std=gnu++11
(我想),这将启用非标准扩展。用<代码> -PoANDICT/<代码>标志,我得到了与天顶相同的警告,指向了答案。C++标签在这里被错误地放置在TBH中。C++没有“<代码> j>代码>。它是另一种类型,
std::complex
,而不是
\u complex
。它是标准C++,而不是扩展。@ MalSalter GCC已经将代码> J < /C>作为C++的扩展。@真的,G+标签是有意义的。@快乐一年尝试<代码> -PoANDICT/<代码>。我使用苹果LLVM 7,代码为->学究< <代码>。@ Yakk作为数学家,我对此非常反感。WTH是一个“Jamaginary数字”?@imallett与“Zinteger和Qationals是什么?”非常相似(当然我知道这是非英语来源的,但仍然如此)。@Ruslan Q来自“商”,这很有道理。Z来自德语。幸运的是,在我的论证中,“想象”在德语中是“想象”,它仍然以
i
开头:)这个答案更好,因为数字变成了想象的,而不是复杂的,前者是后者的一个子集。
i
j
通常定义略有不同,例如
exp(-ix)=exp(jx)
@Forss有趣-有没有关于这一主张的参考资料?@chux发现这解释了传统的差异。