struct Foo {
char * DataPtr;
};
class ISomeInterface {
public:
Foo GetFoo( ) const;
Foo GetFoo( );
};
Foo::DataPtr
是指向ISomeInterface
对象的内部缓冲区的指针。有没有办法确保const版本的Foo::DataPtr
返回的ISomeInterface::GetFoo
是const char *
? 最佳答案
你需要一个
struct ConstFoo {
const char* DataPtr;
};
为了这。 C ++中的const不是可传递的。 (这也是为什么您有
iterator
和const_iterator
的原因。)关于c++ - 复杂返回值的常量校正,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2340919/