c++常数值1j是什么意思?

What does c++ constant value 1j mean?

本文关键字:意思 是什么 1j 常数值 c++      更新时间:2023-10-16

我正在使用Apple LLVM version 7.3.0 (clang-703.0.31)编译一些代码,我发现1j可能是一个常量。

在下面的代码片段中,我给int b赋值1j,它编译了:

但是j不是我定义的任何变量

谁能解释一下1j是什么?或者这是一个编译器错误?

谢谢你。

#include <iostream>
using namespace std;
int main() {
    // What is 1j? Why this code can compile??
    int b = 1j;
    cout << b << endl;
    return 0;
}

我看到另一个帖子解释这是复数。

整数后缀J是什么意思?

并且使用编译器选项-pedantic会为它引发一个警告

后缀ij用于复数