A**u 发帖数: 2458 | 1 class A{}
class B: public A{}
class C:public D
{
public:
D(istream& str);
private:
static A* read(istream& str); //读入内容,返回A的指针
list component;
}
D::D(istream& str)
{
component.push_back(read(str));
}
请教这里 read函数 为什么是static的
有什么原因吗 |
A**u 发帖数: 2458 | 2 继续请教一个
看more effective c++ P157
禁止在heap上创建object
class A{
private:
static void *operator new(size_t size);
};
这里 为什么也是static函数呢
请教大牛阿 我对这个static函数一点都没有认识
到底什么时候必须用 什么时候建议用 什么时候不能用呢
谢谢
【在 A**u 的大作中提到】 : class A{} : class B: public A{} : class C:public D : { : public: : D(istream& str); : private: : static A* read(istream& str); //读入内容,返回A的指针 : list component; : }
|
f******y 发帖数: 2971 | 3 that function does not depend on any data members. A better place to put
this kind of functions is anonymous namespace.
【在 A**u 的大作中提到】 : class A{} : class B: public A{} : class C:public D : { : public: : D(istream& str); : private: : static A* read(istream& str); //读入内容,返回A的指针 : list component; : }
|
A**u 发帖数: 2458 | 4 多谢
【在 f******y 的大作中提到】 : that function does not depend on any data members. A better place to put : this kind of functions is anonymous namespace.
|