java/c++里的this->和this.有什么不同
发布网友
发布时间:2022-04-29 11:22
我来回答
共2个回答
热心网友
时间:2022-06-26 20:56
不知道java,java中好像没有指针的概念,我这里说一下c++中的this指针。c++里不能用this 点的 ,因为this是指针不是对象,在c++中this指针就是代表对象 ,更本质的说法就是对象的内存地址, 比如 class test {} ; test ob; test *p = &ob; //这时ob的值和 this指针的值是一样的。
其实你关键理解为什么有this指针。在用c语言写顺序表的时候我们一般这样写。
struct list { int *pstart; int maxsize, last_inx;}
对于这样的 数据结构,我们要操作它的时候,比如列出里面的所有元素。我们会有函数:
void show(list *plist) { ..... }
在c++中,因为使用了类,所以我们可以直接把数据和操作封装在一起,比如
class list {
public:
void show(); // 注意这里,对比用c语言写的函数,这里少了一个参数,list *plist;
private: int *pstart; int maxsize, last_inx;
};
省略的那个参数就是所谓的this指针了,在c++中我们常用 list ob; ob.show()这样调用。
它的意思就是说 对于ob这个对象,或者说这块内存,我要进行show操作……
观楼主英俊潇洒,风流倜傥,关注0x30百度贴吧,必成千秋大业,建不世之功。
热心网友
时间:2022-06-26 20:56
this->是c++里的,this在c++里是个指针,所以要用->
.是java里的,java里没有指针的概念,但是有类似c++指针的句柄的概念
两者只是在语法上有些不同,性质是一样的,都是指某个类的一个对象
请问高手this-> 和this。 有什么区别啊? 在什么情况下使用啊?_百度知 ...
没区别因为前者是C++用的后者是java或者C﹟用:主要因为指针不安全(用->),在java里都这个通过虚拟机的管理来维持安全 用引用(.);会自动回收垃圾,指针你要自己释放资源
java里的“this”到底是什么意思
this代表当前对象的意思。这个this肯定是用在某个类的方法里吧。呵呵,我们继续往下说。举个例子:public class persion{ private String name=null;private int age;public void setName(String name){ this.name=name;} public String getName(){ return name;} } 在这个类中setName方法中第一个...
c语言跟java有什么区别是什么意思(c语言与java有哪些区别?)
C语言是面向过程的语言,执行效率高;Java是面向对象的语言,执行效率比C语言低。C语言最关键的是比Java多了指针,这也说明了Java的健壮性,还有Java的多线程机制使程序可以并行运行,Java程序多用于网络。C语言的安全性不如Java,C语言没有Java的垃圾回收机制,申请的空间要手动释放。Java的通用性好,可...
javaweb 一个实体写了@OneToMany 另一个是不是要写@ManyToOne来对应...
this.parent = parent;}
sqlite怎么与eclipse连接起来呢?
1、下驱动。2、放到磁盘里。一般放到JDK的lib下。3、配置CLASSPATH路径。这里配置的/etc/profile文件。也可以不配置,在运行时不import,直接Class.forName("org.sqlite.JDBC"),用 javac -cp .:路径 类名,这样来运行。4、用eclipse的话,就会你配置了CLASSPATH也找不到,要去工程的Propertries -...
如何用java编写一元二次方程的求根问题
public void setA(double a) { this.a = a;} public void setB(double b) { this.b = b;} public void setC(double c) { this.c = c;} public double getRootOne() { double disk = calculateValidDisk();return (-b + Math.sqrt(disk)) / (2 * a);} public double getRoot...
用java定义学生类(学号、姓名、成绩)。用列表list存放班级学生信息...
this.name = name;} public String getNo() { return no;} public void setNo(String no) { this.no = no;} public String toString() { return "学号:" + no + ",姓名:" + name + ",成绩:" + chengji;} } 结果 排序前 学号:000,姓名:a,成绩:100.0 学号:001,姓名:b,成绩:...
java中this的用法?
并且this只和特定的对象关联,而不和类关联,同一个类的不同对象有不同的this。package test;public class ThisTest { private int i=0;//第一个构造器:有一个int型形参 ThisTest(int i){ this.i=i+1;//此时this表示引用成员变量i,而非函数参数i System.out.println("Int constructor i—...
java和c有什么关系?
与C/C++语言不同的是,Java语言还可以将一些非拉丁字母包含在标识符中,这是因为Java语言使用的是Unicode字符,所有的十六进制00C0以上的Unicode字符都可以用在标识符中。但是Java语言的关键字是不能用来作为标识符的。 我们在使用标识符的时候应该尽量表达所要表示的类、变量、方法等的含义。另外,标识符中可以使用...
java的结构是什么(java的基本构成是什么)
public:修饰字,说明main()具有公有访问属性。 于是,主类框架的源代码如下: publicclass主类名{ … publicstaticvoidmain(String[]args){ … } } Java程序的主类常常使熟悉C/C++的读者感到迷惑:main()方法不就相当于C/C++程序中的主函数吗,为什么非得把它放到一个类里,难道它有什么不同吗? 没错,Java类...