直接写new Class;是做什么用的?

我要戒烟了 2008-12-25 04:43:48
class Class1
{
static void Fun();
}


void main()
{
new Class1; // 这是做什么用的?
Class1::Fun();
...
}
...全文
242 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuruichen 2008-12-31
  • 打赏
  • 举报
回复
创建新对象的时候用,
但是你没有左值。
很危险
Charles000 2008-12-31
  • 打赏
  • 举报
回复
是c++里的singleton模式。可以看看《c++设计模式》

建一个唯一的全局静态对象
china_west 2008-12-31
  • 打赏
  • 举报
回复
原来这样啊
bitwwzhang130 2008-12-26
  • 打赏
  • 举报
回复
是用来泄露内存的,活活
luojc714 2008-12-25
  • 打赏
  • 举报
回复
这是C++的代码吗?
怀疑ing!
我要戒烟了 2008-12-25
  • 打赏
  • 举报
回复
恩,代码没有放全,全部的太多,大概是这个样子咧

class Class1 : public Singleton <Class1>, public CThread
{
...
virturl void Run();
}

sClass1 Class1::getSingleton();
void main()
{
...
new Class1; // 这是做什么用的?

//创建线程,然后在这个线程中运行Run();
ThreadPool.Execute(sClass1.getSingletonPtr());

...
}
nullah 2008-12-25
  • 打赏
  • 举报
回复
呵呵,这样的确是来泄露内存的
rsp19801226 2008-12-25
  • 打赏
  • 举报
回复
用来笑死别人的!
yndfcd 2008-12-25
  • 打赏
  • 举报
回复
楼主写的肯定是一个不完全的版本.

有可能的情况是,这是一个singleton.也有可能是某个用户界面库的封装方法
syd_programming 2008-12-25
  • 打赏
  • 举报
回复
汗!这是反面例子吧。
taodm 2008-12-25
  • 打赏
  • 举报
回复
楼主啊,还是换本好点的教材吧。
wudeshou82666 2008-12-25
  • 打赏
  • 举报
回复
确实是用来泄露内存的
呵呵
写法要 规范
class1 *c1=new class1;
.
.//操作该对象
.
delete c1;


SearchLife 2008-12-25
  • 打赏
  • 举报
回复
class Class1
{
static void Fun();
}


void main()
{
new Class1; // 这是做什么用的?
Class1::Fun();
...
}

这样写很危险。new Class1 构造一个未命名对象,并返回这个对象的地址。但这个地址没有记录下来。导致以后没有
办法再使用这段内存。导致内存得不到很好的释放。直到应用程序结束。
lockhall 2008-12-25
  • 打赏
  • 举报
回复
是在堆上;
[Quote=引用 3 楼 linglongyouzhi 的回复:]
是在栈上么
引用 2 楼 lbh2001 的回复:
引用楼主 inzaghi97 的帖子:
class Class1
{
static void Fun();
}


void main()
{
new Class1; // 这是做什么用的?
Class1::Fun();
...
}

new Class1; ----> 在栈上调用默认构造函数创建了一个对象实例
[/Quote]
linglongyouzhi 2008-12-25
  • 打赏
  • 举报
回复
是在栈上么
[Quote=引用 2 楼 lbh2001 的回复:]
引用楼主 inzaghi97 的帖子:
class Class1
{
static void Fun();
}


void main()
{
new Class1;        // 这是做什么用的?
Class1::Fun();
...
}

new Class1;  ----> 在栈上调用默认构造函数创建了一个对象实例
[/Quote]
lbh2001 2008-12-25
  • 打赏
  • 举报
回复
[Quote=引用楼主 inzaghi97 的帖子:]
class Class1
{
static void Fun();
}


void main()
{
new Class1; // 这是做什么用的?
Class1::Fun();
...
}
[/Quote]
new Class1; ----> 在栈上调用默认构造函数创建了一个对象实例
Leejun527 2008-12-25
  • 打赏
  • 举报
回复
用来泄露内存的...

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧