【发布时间】:2013-07-22 02:18:09
【问题描述】:
使用模板参数计算某些值的 C++ 方法是什么?
template<typename T, size_t SIZE>
class ThreadSafeArray
{
private:
static const size_t BLOCK_SIZE = SIZE > 32 ? 16 : 4;
static const size_t MUTEX_COUNT = SIZE / BLOCK_SIZE + 1;
...
};
或者这个
template<typename T, size_t SIZE>
class ThreadSafeArray
{
private:
enum
{
BLOCK_SIZE = SIZE > 32 ? 16 : 4,
MUTEX_COUNT = SIZE / BLOCK_SIZE + 1
};
....
};
还是其他?
【问题讨论】:
-
在 C++ 中,与大多数其他语言一样,没有“一种正确的方法”。
-
我同意你的观点,这两种方式都是正确的,但是我想知道这个主题的一些好的做法
标签: c++ templates template-meta-programming