c++和c#中int类型内存的区别

本文关键字:内存 区别 类型 int c++ | 更新日期: 2023-09-27 18:04:17

C#中,int型变量占用4 byte内存,在c++中占用2 byte内存。即使在c++ shortint都占用2 byte内存,long占用4 byte内存。在c#中,short和int只占用4个字节。为什么两种语言在遵循oop的情况下记忆会有这种差异?

c++和c#中int类型内存的区别

一个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++ 中,它取决于体系结构:

在32位

:

  • int和long通常为4字节

  • 短通常为2字节

是否为64位取决于平台,但我还没有在 c++ 中看到过2字节int。

主要的区别是在c++中编译成本地代码,而在c#中编译成CIL。

在c#有4字节整型的平台上,c++也有。

不同的是c++也可以在不同的平台上运行,对于内置的类型有不同的大小