2012-08-02 59 views
1

在Java字节封装类是有喜欢C中的包装类,像java一样是byte,Integer,String,Double?

byte-Byte 
int-Integer 
float-Float etc 

我想使用的包装类在C所以任何人都让我 知道如何在C使用包装类,以及如何用C写这个?

JAVA:

Byte arr= 0x03; 
+1

我们在谈论C,C++还是C#? – dualed 2012-08-02 12:31:05

+3

在C中根本没有类...... – 2012-08-02 12:31:24

+0

也许你只是告诉我们你想要什么功能? – 2012-08-02 12:32:18

回答

1

在C你写char arr = 0x03;。 POD类型没有“包装”或“装箱”。而你并不需要它们。

+0

此代码byte [] arr1 = new byte [] {0x01};我写了char arr1 [] = {0x01};所以对于Byte,c中没有包装类,所以我可以像这样写char arr = 0x03;这相当于Byte arr = 0x03;对??谢谢 – poppy 2012-08-02 12:37:31

+0

@poppy:是的,你可以。也就是说,如果你有一个字节。如果你在Java中写入byte [] arr1 ...',那么称为数组,而在C中它可以是'char * array'或'char array []'。 – 2012-08-02 12:40:04

+0

然后在C什么是相当于Java Integer,Short,Float包装类? – poppy 2012-08-03 10:17:37

2

在C中根本没有任何类。你可以用char成员创建一个结构,但我不确定你为什么要这样做。

在C++中,您可以创建一个包装类。你只需要定义来自char的隐式转换来模拟自动装箱,以及你认为包装类应该具有的任何方法。

此外,C和C++中Java'byte'类型的等效值为signed char

+2

'byte'是在Java中签名的。 – 2012-08-02 12:54:42

+0

这只是因为*所有*都是用Java签名的。 – 2012-08-02 13:35:51

+0

@Bo,实际上,字符是无符号的。 – Antimony 2012-08-03 03:35:09

相关问题