C++,C#,Java 同时玩的你需要注意的地方(想到就增加)

来源:互联网 发布:过期域名删除查询 编辑:程序博客网 时间:2024/04/29 10:17

同时使用过这三种编程语言的程序员不是大牛,就是兴趣爱好者而且时间极多的那种,或是你就像我一样有着阴差阳错的迫不得已变换语种工作经历。我希望你不是我这种,我心脏受不了,我只是一名想安居乐业的普通码农(从标题看我程序员的经历吧实际更多我想哭大哭)。


1.Java 的byte类型和C++/C#的都不同,实际上Java所有整型都是有正负号,java并不存在所谓的unsigned,同理可以类推Java的int,long也是这个鬼样,另外C++和C#默认也有不一样C++ byte默认是有符号也就是signed byte而C# byte默认等效于 C++的unsigned byte是正数无符号的。

2.Java 的synchronized关键字几乎就和C#lock关键字一个意思,但是lock则只能套括号,synchronized关键字处理套括号还可以修饰函数。

3.C++ new关键字一般都需要delete配对使用,因为C++自带不具备垃圾回收机制。而Java和C#不用。

4.对于操作内存能力比较C++>C#>java ,java几乎可以说完全不能对内存进行直接操作,完全没有指针这一说法。

5.C#的属性操控比C++和Java都要强,所以你会发现C++和Java很多set函数和get函数,但是C#可以直接把set和get放在属性里实现。

6.C++是其中唯一一个定义类class myclass{};括号末尾要分号的语言

7.C++函数参数为一个类变量时候,默认不是引用传递而是会调用这个类的复制构造函数,除非特意指明&引用传递,而C#/Java类变量的传递都是引用类型的传递,这两个语言的类永远都是引用类型。


0 0