我有一个嵌套的结构,我想有一个嵌入成员之一的指向成员的指针:
这合法吗?
struct InnerStruct
{
bool c;
};
struct MyStruct {
bool t;
bool b;
InnerStruct inner;
};
Run Code Online (Sandbox Code Playgroud)
这个:
MyStruct mystruct;
//...
bool MyStruct::* toto = &MyStruct::b;
Run Code Online (Sandbox Code Playgroud)
没问题,但是:
bool MyStruct::* toto = &MyStruct::inner.c;
Run Code Online (Sandbox Code Playgroud)
不是.任何的想法?
谢谢
这里有一些细节是的,它是&MyStruct :: b而不是mystruct :: b; 代码来自自定义RTTI/Property系统.对于每个指定的类,我们保留一个"Property"数组,包括一个Ptr-to-member它的用法如下:
//somewhere else in code...
( myBaseClassWithCustomRTTIPointer)->* toto = true;
Run Code Online (Sandbox Code Playgroud) 有没有人有使用继承减少模板代码膨胀的经验?
我犹豫以这种方式重写我们的容器:
class vectorBase
{
public:
int size();
void clear();
int m_size;
void *m_rawData;
//....
};
template< typename T >
class vector : public vectorBase
{
void push_back( const T& );
//...
};
Run Code Online (Sandbox Code Playgroud)
我应该保持最大的性能,同时减少编译时间
我也想知道为什么stl实现不使用这种方法
感谢您的反馈