由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - C++ 什么时候用 "new" ?
相关主题
问个copy constructor的问题再一个问题c++
C++ operator = overloading用copy & swap有啥优点问一个C++ String的初始化问题
请问const myClass &src 和myClass const &src有什么区别?stl Compare为何需要重载()?
请教这个程序里用到了什么constructor啊?有几个copy constructor?C++怎样设置全局变量
问个local class的问题一个Quant Developer的C++面试题
问个INTERVIEW QUESTION怎么隐藏c++template代码?只提供lib 不提供头文件
another c++ interview questionC++糟粕和需要避免的。
C++:如何计算一个类实例化了多少次?今天给c++震惊了
相关话题的讨论汇总
话题: myclass话题: myobj话题: new话题: c++话题: myfunction
进入Programming版参与讨论
1 (共1页)
s***1
发帖数: 49
1
如果我有一个 class MyClass, 有一个constructor MyClass(int x).
在main 里面:
1) MyClass myObj(12);
2) MyClass myObj = new MyClass(12);
有什么区别? 哪一个更好?
d*****u
发帖数: 17243
2
用new的话可以不要变量名,直接用指针访问
比如
MyClass *Prt;
Prt = new MyClass(12);
否则好像没啥区别

【在 s***1 的大作中提到】
: 如果我有一个 class MyClass, 有一个constructor MyClass(int x).
: 在main 里面:
: 1) MyClass myObj(12);
: 2) MyClass myObj = new MyClass(12);
: 有什么区别? 哪一个更好?

t****t
发帖数: 6806
3
下次换个好点的坑来挖, 第二个编译不过去的

【在 s***1 的大作中提到】
: 如果我有一个 class MyClass, 有一个constructor MyClass(int x).
: 在main 里面:
: 1) MyClass myObj(12);
: 2) MyClass myObj = new MyClass(12);
: 有什么区别? 哪一个更好?

s***1
发帖数: 49
4
Yea, I meant to say MyClass *myObj = new MyClass(12);
I realized the difference, stack VS heap.
If I declare:
MyClass *myObj = new MyClass(12);
I can access a member function by: myObj->myFunction().
But if I declare
MyClass myObj (12);
What is the syntax for accessing the member function? Is it still myObj->
MyFunction() ?
d*****u
发帖数: 17243
5
myObj->myFunction()实际上是*(myObj).myFunction()的缩写
如果你定义了myClass类型的变量,不能用->访问成员
只能用 myObj.myFunction()

【在 s***1 的大作中提到】
: Yea, I meant to say MyClass *myObj = new MyClass(12);
: I realized the difference, stack VS heap.
: If I declare:
: MyClass *myObj = new MyClass(12);
: I can access a member function by: myObj->myFunction().
: But if I declare
: MyClass myObj (12);
: What is the syntax for accessing the member function? Is it still myObj->
: MyFunction() ?

s***1
发帖数: 49
6
ok. so in this case, myObj is a reference variable, not a pointer?

【在 d*****u 的大作中提到】
: myObj->myFunction()实际上是*(myObj).myFunction()的缩写
: 如果你定义了myClass类型的变量,不能用->访问成员
: 只能用 myObj.myFunction()

f*****Q
发帖数: 1912
7
俺跳了,跳楼了。

【在 s***1 的大作中提到】
: Yea, I meant to say MyClass *myObj = new MyClass(12);
: I realized the difference, stack VS heap.
: If I declare:
: MyClass *myObj = new MyClass(12);
: I can access a member function by: myObj->myFunction().
: But if I declare
: MyClass myObj (12);
: What is the syntax for accessing the member function? Is it still myObj->
: MyFunction() ?

h***i
发帖数: 1970
8
谁都有当新人的时候

【在 f*****Q 的大作中提到】
: 俺跳了,跳楼了。
k****a
发帖数: 59
9
怎么都觉得你像是在说java

【在 s***1 的大作中提到】
: ok. so in this case, myObj is a reference variable, not a pointer?
f*****Q
发帖数: 1912
10
她不是新人,她系专门挖坑的。

【在 h***i 的大作中提到】
: 谁都有当新人的时候
c**0
发帖数: 535
11
Personally, I think:
The biggest difference is stack vs. heap. #1 allocates the object in stack
while #2 allocates the object in heap, via "new"...
...by doing so, you unleash the devil of dynamic memory allocation in C++
which has many interesting topics covering different stories of memory/
resource (de)allocation, e.g. new operator vs. operator new, smart pointers,
etc.

【在 s***1 的大作中提到】
: 如果我有一个 class MyClass, 有一个constructor MyClass(int x).
: 在main 里面:
: 1) MyClass myObj(12);
: 2) MyClass myObj = new MyClass(12);
: 有什么区别? 哪一个更好?

1 (共1页)
进入Programming版参与讨论
相关主题
今天给c++震惊了问个local class的问题
请教C++11的rvalue ref问个INTERVIEW QUESTION
const int foo()啥意思?another c++ interview question
warning: returning address of local variable or temporaryC++:如何计算一个类实例化了多少次?
问个copy constructor的问题再一个问题c++
C++ operator = overloading用copy & swap有啥优点问一个C++ String的初始化问题
请问const myClass &src 和myClass const &src有什么区别?stl Compare为何需要重载()?
请教这个程序里用到了什么constructor啊?有几个copy constructor?C++怎样设置全局变量
相关话题的讨论汇总
话题: myclass话题: myobj话题: new话题: c++话题: myfunction