【发布时间】:2014-05-01 21:31:15
【问题描述】:
我有时会看到这个构造函数使用内联显式编写。 例如:
protected :
inline explicit Singleton() {
CCASSERT(Singleton::instance_ == 0, "error Singleton::instance_ == 0.");
Singleton::instance_ = static_cast<T*>(this);
}
inline ~Singleton() {
Singleton::instance_ = 0;
}
内联显式有什么好处?
【问题讨论】:
-
inline和explicit是两个不同的关键字。所以我猜你在问explicit是什么意思,here 已经回答了。 -
你问的是
inline和explicit之间的组合吗?因为这不会为这两个修饰符的各自行为添加任何内容。 -
@Zeta 但是没有任何构造函数参数的
explicit有什么意义?? -
在无参数构造函数上显式在 C++11 中绕过大括号初始化是有意义的。
-
顺便说一句,据我所知,如果你把函数体放在类的 { } 中,函数默认是内联的