c++和c#中int类型内存的区别
本文关键字:内存 区别 类型 int c++ | 更新日期: 2023-09-27 18:04:17
在C#
中,int型变量占用4 byte
内存,在c++
中占用2 byte
内存。即使在c++ short
和int
都占用2 byte
内存,long
占用4 byte
内存。在c#中,short和int只占用4个字节。为什么两种语言在遵循oop的情况下记忆会有这种差异?
一个2字节的整数只能有65536个不同的值。它们只是对同一件事的不同看法,这意味着在c++的实现中,你正在使用:
C++ C#
1 byte byte byte
2 bytes int/short short
4 bytes long int
等。
c++对这些数字的内存效率并不高,关键字只是有不同的含义。
In c# :
- int总是System。Int32
- 的缩写总是System。Int16
- 长总是系统。Int64
这是因为 c# 被编译成CIL。
在 c++ 中,它取决于体系结构:
:
int和long通常为4字节
短通常为2字节
是否为64位取决于平台,但我还没有在 c++ 中看到过2字节int。
主要的区别是在c++中编译成本地代码,而在c#中编译成CIL。
在c#有4字节整型的平台上,c++也有。