防止在C中分配类型

时间:2013-07-15 11:27:01

标签: c assignment-operator strong-typing noncopyable

给定C函数:

void f(T x, T y) {
    x = y;
}

我想确保T分配的所有实例都会失败。到目前为止,我所拥有的最佳解决方案是:

#define T const void *

有更好的解决方案吗? (理想情况下,我希望将T定义为某种不可赋值的不透明记录指针类型)。

2 个答案:

答案 0 :(得分:3)

typedef更适合此处。

对于不可变数据:typedef const void * T;

对于不可变指针:typedef void * const T;

答案 1 :(得分:0)

我犯了一个愚蠢的错误。显然,

typedef const int T 

typedef void * const T

可以防止分配。