读书人

c++中定冒?该怎么处理

发布时间: 2012-04-03 12:38:19 作者: rapoo

c++中定冒?
struct SkBitmap::MipMap : SkNoncopyable {
int32_t fRefCnt;
int fLevelCount;
// MipLevel fLevel[fLevelCount];
// Pixels[]

static MipMap* Alloc(int levelCount, size_t pixelSize) {
if (levelCount < 0) {
return NULL;
}
Sk64 size;
size.setMul(levelCount + 1, sizeof(MipLevel));
size.add(sizeof(MipMap));
size.add(pixelSize);
if (!isPos32Bits(size)) {
return NULL;
}
MipMap* mm = (MipMap*)sk_malloc_throw(size.get32());
mm->fRefCnt = 1;
mm->fLevelCount = levelCount;
return mm;
}

const MipLevel* levels() const { return (const MipLevel*)(this + 1); }
MipLevel* levels() { return (MipLevel*)(this + 1); }

const void* pixels() const { return levels() + fLevelCount; }
void* pixels() { return levels() + fLevelCount; }

void ref() {
if (SK_MaxS32 == sk_atomic_inc(&fRefCnt)) {
sk_throw();
}
}
void unref() {
SkASSERT(fRefCnt > 0);
if (sk_atomic_dec(&fRefCnt) == 1) {
sk_free(this);
}
}
};

SkNoncopyable定

class SK_API SkNoncopyable {
public:
SkNoncopyable() {}

private:
SkNoncopyable(const SkNoncopyable&);
SkNoncopyable& operator=(const SkNoncopyable&);
};

不太明白里的冒有什麽作用?是直接用class SkNoncopyable 的造函?

[解决办法]

探讨

引用:

你说的哪个冒号啊,public:,这个冒号吗,指明下面的是public方法或属性


不好意思,有太清楚,struct SkBitmap::MipMap : SkNoncopyable 定的冒!

读书人网 >C++

热点推荐