新微赢技术网
标题:
析构函数可以是内联函数吗?
[打印本页]
作者:
陈君
时间:
2009-11-4 01:57
标题:
析构函数可以是内联函数吗?
析构函数可以是内联函数吗?书上说是的,还举例了,可是我按他写的出现了错误,大家看看该怎么改?
#include<iostream>
using namespace std;
class A
{
public:
void foo()
{cout<<"A"<<endl;}
~A();
}
inline A::~A()
{cout<<"inline";}
int main()
{
A *p=new A();
p->foo();
delete p;
return 0;
}
作者:
▄愛變鎖ゞ
时间:
2009-11-4 01:57
类定义时,结束用分号
class 类名
{ };
作者:
青松
时间:
2009-11-4 01:57
你这样写就行:
#include<iostream>
using namespace std;
class A
{
public:
void foo()
{cout<<"A"<<endl;}
inline ~A()
{cout<<"inline";}
};
int main()
{
A *p=new A();
p->foo();
delete p;
return 0;
}
作者:
温柔乡
时间:
2009-11-4 01:57
二楼说得很对啊,你原来那个没什么问题啊...
只是少个分号...
作者:
゛,
时间:
2009-11-4 01:57
好象前面 加不加 inline 没有太大的作用
编译器会自己选择的吧
作者:
︶ㄣ⒏懂緈諨
时间:
2009-11-4 01:57
newyj 在 2008-9-10 20:07 的发言:
好象前面 加不加 inline 没有太大的作用
编译器会自己选择的吧
应该是的...
作者:
兮哩糊涂の斗
时间:
2009-11-4 01:57
当然可以!!
比如说
using std::cout;
class Time
{
pulibc:
//....
inline ~Time()
{
cout << "destructor called.\n";
}
};
内联函数一般适合用于函数体较小的,没有循环或switch的语句.可以提高执行效率.如果函数执行时间比较长,即使你声明为内联的,,编译器也当做是常规函数.析构函数一般不声明为内联的.
作者:
兲外☆飛唬
时间:
2009-11-4 01:57
inline只是我们给编译器的建议,未必会真的就内联了。
欢迎光临 新微赢技术网 (http://bbs.weiying.cn/)
Powered by Discuz! X3.2