我正在尝试使用static_assert来确保其他程序员避免扩展某个类,使其超出预期用途,因为它通常用于低级计算,其中假设字节数是下面的静态断言想要检查的。template<typename T, int N>{ // This is the static_assert I need tofix
static_assert(sizeof(MyClass<T, N>) == sizeof(T
假设有一个类Foo,作为库的设计人员,我不希望我的用户能够实例化超过n的次数(其中n不一定是1)。在编译期间,有什么方法强制执行此规则吗?请注意,我不是在执行Singleton或类似的模式,因为我希望用户在执行他们的代码之前意识到他们不应该实例化类。到目前为止,我最好的尝试是将static_assert和__COUNTER__宏组合在一起,但是没有效果,因为它们似乎没有像我预期的那样被评估,在函数或类中。constexpr int b