84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
人生最曼妙的风景,竟是内心的淡定与从容!
C++: 说好的new呢
new
#include<iostream> class test { public: test() = default; test(int b) { a = b; } void A() { std::cout << a << std::endl; } private: int a; }; int main(int argc,char *argv[]) { test(1).A(); //没问题 (*(new test(1))).A(); //内存泄露 (new test(1))->A(); //上一行的语法糖 return 0; }
当然这个编程习惯很不好
而且C++的new并不是你想象的那么简单
你上面的java/c++构造对象的方法是有区别的,还有c++才是返回一个真正的对象,而java是类似于指针的东西,你恰好理解反了,而且c++也有类似于java返回指针的用法:new test(1)这样返回的就是一个指针~~还有就是 这样不行?test(1).A();(new test(1))->A(); // 当然这种不推荐,因为有内存泄漏
java/c++
c++
java
new test(1)
test(1).A()
(new test(1))->A();
你的c++没有用new呀
C++: 说好的
new
呢当然这个编程习惯很不好
而且C++的
new
并不是你想象的那么简单你上面的
java/c++
构造对象的方法是有区别的,还有c++
才是返回一个真正的对象,而java
是类似于指针的东西,你恰好理解反了,而且c++
也有类似于java
返回指针的用法:new test(1)
这样返回的就是一个指针~~还有就是 这样不行?
test(1).A()
;(new test(1))->A();
// 当然这种不推荐,因为有内存泄漏你的c++没有用new呀