struct Foo {
        char * DataPtr;
    };

class ISomeInterface {
public:
    Foo GetFoo( ) const;
    Foo GetFoo( );
};


Foo::DataPtr是指向ISomeInterface对象的内部缓冲区的指针。有没有办法确保const版本的Foo::DataPtr返回的ISomeInterface::GetFooconst char *

最佳答案

你需要一个

struct ConstFoo {
   const char* DataPtr;
};


为了这。 C ++中的const不是可传递的。 (这也是为什么您有iteratorconst_iterator的原因。)

关于c++ - 复杂返回值的常量校正,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2340919/

10-11 22:48
查看更多