c++和Java的类型定义区别
2018-01-03 21:03
197 查看
最近,开发一些微服务,用c++和java联合开发。现在总结和记录以下工作学习中的心得:
1.c++的byte(尤其Vc和c#)为无符号类型,范围从0-255,例如,byte bt =-5,实际bt =251 ;Java的byte为有符号的,范围从-127-127。
2.c++的char类型为1个字节,而java的为两个字节,vc的char是有符号的。
3.加载动态库,vc的需要为文件全名,而QT和Java为了兼容Windows和Linux,一般只需要输入文件名,不需要扩展名即可。
4.long类型,在32位系统中是32位,在64位系统中是64位,一般建议用long long 或者_int64.
5.c++传递过来参数Int*和int&用IntByReference来代替(不建议用Int[]),char**用过PointerByReference来代替( 不建议用String[]代替),因为后面如果涉及内存释放,则传递回PointerByReference.GetValue() 即可。将char**转换为String的方法如下:ppCurveHeaderSet.getValue().getString(0,"UTF-8");
6.C++字符串比较相等可以==,Java需要用String.equal来处理。
1.c++的byte(尤其Vc和c#)为无符号类型,范围从0-255,例如,byte bt =-5,实际bt =251 ;Java的byte为有符号的,范围从-127-127。
2.c++的char类型为1个字节,而java的为两个字节,vc的char是有符号的。
3.加载动态库,vc的需要为文件全名,而QT和Java为了兼容Windows和Linux,一般只需要输入文件名,不需要扩展名即可。
4.long类型,在32位系统中是32位,在64位系统中是64位,一般建议用long long 或者_int64.
5.c++传递过来参数Int*和int&用IntByReference来代替(不建议用Int[]),char**用过PointerByReference来代替( 不建议用String[]代替),因为后面如果涉及内存释放,则传递回PointerByReference.GetValue() 即可。将char**转换为String的方法如下:ppCurveHeaderSet.getValue().getString(0,"UTF-8");
6.C++字符串比较相等可以==,Java需要用String.equal来处理。
相关文章推荐
- Java、C#、C++定义数组区别
- java string类型 直接定义跟new的区别
- Java、C#、C++定义数组区别
- Java、C#、C++定义数组区别
- C++中可以用struct和class来定义类型,这两种类型有什么区别
- Java中引用类型变量,对象,值类型,值传递,引用传递 区别与定义
- C++和java中类成员定义时候的区别
- Java和C++中基本数据类型的区别
- java与C++的区别之基本数据类型
- java中几种引用类型的定义和区别。强引用,软引用,弱引用,虚引用
- C/C++/Java/C#的基础类型模型的定义
- JAVA 对象定义、访问对象、基本类型和引用类型变量区别
- 读thinking in java的收获(一)——java中的引用,c++引用与c指针的区别与联系以及java的数据类型
- Java中引用数据类型与C++引用和指针的区别
- c++和java区别之基本数据类型
- Java、C#、C++定义数组区别
- Java和C++基本类型与语法的区别
- J-Integra中的java数据类型与C++数据类型对比
- java和c++在面向对象上有什么区别?
- java中的final与C++中的const的区别