以下内容是在第330页的B.Stroustrup" C ++编程语言"第三版:
template<class C> struct String<C>::Srep {
C* s; // pointer to elements
int sz; // number of elements
int n; // reference count
// ...
};
template<class C> C String<C>::read(int i) const { return rep->s[i];}
template<class C> String<C>::String()
{
p = new Srep(0, C());
}
我对上面的构造函数有两个问题:
1)不应该p
替换rep
吗?
2)ctor Srep(0, C())
应如何在商店中构建Srep
对象?
答案 0 :(得分:3)
至1):是的。在我的书中,我有以下代码:
template<class C> struct String<C>::Srep {
C* s; // pointer to elements
int sz; // number of elements
int n; // reference count
};
template<class C> C String<C>::read(int i) cont { return rep->s[i];}
template<class C> String<C>::String<C>()
{
rep = new Srep(0, C());
}