0
Q
写一个宏
A
回答
1
你可以使用这样的事情:
#define var(T,...) T<__VA_ARGS__,__LINE__>
,或者如果你只是做这一个知道类型:
#define var(x) T<(x),__LINE__>
我建议使用__COUNTER__
代替然而__LINE__
,它允许该类型是全球独一无二的,不仅仅是这条线的独特之处。
编辑:重读这个问题,你究竟是什么意思的“不同的整数”?如在不同的类型或不同的初始化值?
template<typename T = int, const T nValue> class Integer
{
T Value;
Integer() : Value(nValue)
{
}
operator T()
{
return Value;
}
};
#define VI(x) Integer<__COUNTER__> x
或(这似乎是一个你想要的)
#define I(x) int x(__COUNTER__)
2
这不完全是你想要的,但它非常接近。
#define X(arg) Y<(arg), __LINE__>
X(1) _0;
X(1) _1; // different type than previous line
相关问题
- 1. 写一个宏
- 2. SAS:写一个宏...
- 3. 编写一个Lisp宏与嵌套quasiquoting
- 4. 在syslog中写一个宏C
- 5. 写这个宏:(Objective-C的)
- 6. 写一个宏,在每26行粘贴一个范围
- 7. Excel宏从多个工作簿写入到一个
- 8. Word VBA宏 - 将多个项目写入一个txt文件?
- 9. 在宏中嵌套一个宏
- 10. 当一个宏调用另一个宏时Clojure宏和默认参数
- 11. 如何用模板宏重写这个宏?
- 12. 从一个Excel文件复制到另一个宏的宏
- 13. C:编写一个宏来建立字符串转义序列
- 14. 学习计划宏。帮我写一个定义语法规则
- 15. 我该如何在Clojure中编写一个“defn”宏?
- 16. 我们可以用C#写一个宏吗?Excel
- 17. 编写一个C宏以在CUDA内核中使用
- 18. VBA:我如何编写一个自动更正日期的宏?
- 19. 如何编写一个将循环给定列表的宏?
- 20. 我怎样写一个CPP __DIR__宏,类似于__FILE__
- 21. 可以编写一个运行excel的宏吗?
- 22. 有麻烦写一个简单的VS2010宏
- 23. 如何编写一个MIT Scheme宏来返回一个lambda表单?
- 24. 带宏的第一个Lisp?
- 25. &符号在一个C宏
- 26. elixir中的宏扩展:如何使用另一个宏来定义2个宏?
- 27. 如何为Notepad ++编写宏?
- 28. 如何编写(简单)宏?
- 29. 在Common Lisp中编写++宏
- 30. 写宏作为C++函数
这有什么错在问题中提到`__LINE__`? – kichik 2010-11-25 12:14:45
@kichik __LINE__的问题在于它明确说明,并且根据CashCow,如果使用宏,则不必这样做。 – 2010-11-25 12:15:52