- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我正在从 Java 过渡到 C++,并且对 long
数据类型有一些疑问。在 Java 中,要保存大于 232 的整数,您只需编写 long x;
。但是,在 C++ 中,long
似乎既是数据类型又是修饰符。
long
似乎有几种使用方式:
long x;
long long x;
long int x;
long long int x;
另外,好像有这样的东西:
long double x;
等等。
所有这些不同的数据类型有什么区别,它们的目的是否相同?
最佳答案
long
和 long int
是相同的。 long long
也是如此和 long long int
.在这两种情况下,int
是可选的。
至于这两个集合之间的区别,C++ 标准规定了每个集合的最小范围,而 long long
至少与 long
一样宽.
标准的控制部分(C++11,但它已经存在了很长时间)之一是 3.9.1 Fundamental types
,第 2 节(后面的部分给出了无符号整数类型的类似规则):
There are five standard signed integer types : signed char, short int, int, long int, and long long int. In this list, each type provides at least as much storage as those preceding it in the list.
7.1.6.2 Simple type specifiers
中还有一个表 9 ,它显示了说明符到实际类型的“映射”(表明 int
是可选的),其中一部分如下所示:
Specifier(s) Type
------------- -------------
long long int long long int
long long long long int
long int long int
long long int
注意说明符和类型之间的区别。说明符是您告诉编译器类型是什么的方式,但您可以使用不同的说明符以最终获得相同的类型。
因此 long
正如您的问题所提出的那样,它本身既不是类型 也不是 修饰符,它只是 long int
的说明符类型。 long long
同上作为 long long int
的说明符输入。
虽然 C++ 标准本身并没有指定整数类型的最小范围,但它确实在 1.2 Normative references
中引用了 C99。 ,如申请。因此,C99 5.2.4.2.1 Sizes of integer types <limits.h>
中列出的最小范围适用。
根据 long double
,这实际上是一个浮点值而不是整数。与整数类型类似,它的精度要求至少与 double
一样高。并提供该类型的值的超集(意味着至少个值,不一定更多个值)。
关于c++ - C++ 中的 "long"、 "long long"、 "long int"和 "long long int"有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18971732/
我正在尝试使用 y 组合器在 Scala 中定义 gcd: object Main { def y[A,B]( f : (A => B) => A => B ) : A => B = f(y(f)
我正在尝试了解返回指向函数的指针的函数,在我尝试编译代码后,它给了我这种错误: cannot convert int (*(int))(int) to int (*(int))(int) in ass
所以我一直在关注 youtube 上的游戏编程教程,然后弹出了这段代码:bufferedImageObject.getRGB(int, int, int, int, int[], int, int);
我正在将时间现在 与存储在数据库某处的时间进行比较。数据库中存储的时间格式为“yyyyMMddHHmmss”。例如,数据库可能会为存储的时间值返回 201106203354。然后我使用一个函数将时间现
例如 Maze0.bmp (0,0) (319,239) 65 120 Maze0.bmp (0,0) (319,239) 65 120 (254,243,90) Maze0.bmp (0,0) (
评论 Steve Yegge的post关于 server-side Javascript开始讨论语言中类型系统的优点和这个 comment描述: ... examples from H-M style
我正在研究 C 的指针,从 Deitel 的书中我不明白 int(*function)(int,int) 和 int*function(int, int) 表示函数时。 最佳答案 C 中读取类型的经验
您好,我使用 weblogic 11g 创建 war 应用程序,我对 joda time 的方法有疑问 new DateTime(int, int, int, int, int, int); 这抛出了
Create a method called average that calculates the average of the numbers passed as parameters. The
var a11: Int = 0 var a12: Int = 0 var a21: Int = 0 var a22: Int = 0 var valueDeterminant = a11 * a12
我正在为一个项目设置 LED 阵列。我得到了一个 LED 阵列,可以根据引脚变化电压进行更改,但我无法添加更多引脚。 当我尝试时,编译失败并显示错误:函数“int getMode(int, int,
除了创建对列表执行简单操作的函数之外,我对 haskell 还是很陌生。我想创建一个列表,其中包含 Int 类型的内容, 和 Int -> Int -> Int 类型的函数. 这是我尝试过的: dat
这个问题已经有答案了: Java add buttons dynamically as an array [duplicate] (4 个回答) 已关闭 7 年前。 StackOverFlow问题今天
我有几个 EditText View ,我想在其中设置左侧的图像,而 setCompoundDrawablesWithIntrinsicBounds 似乎不起作用。图形似乎没有改变。 有人知道为什么会
#include using namespace std; int main() { static_assert(is_constructible, int(*)(int,int)>::val
fun sum(a: Int, b: Int) = a + b val x = 1.to(2) 我在找: sum.tupled(x),或者 sum(*x) 当然,以上都不能用 Kotlin 1.1.3
有一个函数: func (first: Int) -> Int -> Bool -> String { return ? } 返回值怎么写?我对上面 func 的返回类型感到很困惑。 最
type foo = A of int * int | B of (int * int) int * int 和 (int * int) 有什么区别?我看到的唯一区别在于模式匹配: let test_
我正在尝试制作一个 slider 游戏。在这个类中,我使用 Graphics 对象 g2 的 drawImage 方法来显示“拼图”的 block 。但在绘制类方法中,我收到此错误:找不到符号方法dr
我试着理解这个表达: static Func isOdd = i => (i & 1) == 1; 但是这是什么意思呢? 例如我有 i = 3。然后 (3 & 1) == 1 或 i = 4。然后
我是一名优秀的程序员,十分优秀!