最近在搞jni, 所以又捡起了c++, java 和c++都是类c的语言, 所以相似度还是很高的, 这就导致了某些地方窝老是搞混, 比如类的实例化。
c++: | java:
class A{ | public class A{
public: | public A(int i){};
A(int i){}; | public A(int i, int j){};
A(int i, int j){}; | public A(){};
A(){}; |
} | }
java:
A a = new A();
c++:
A* a = new A(); //分配内存在堆区
//A a(); 这种不能这么写,应为这样会让编译起以为这是一个函数的声明
//以下都是分配内存在栈区
A a = 1;
A a = A(1);
A a = A(1, 2);
A a(1, 2);