相关疑难解决方法(0)

C++模板是伪装的宏吗?

我已经用C++编程了几年,我已经使用了很多STL并且已经创建了我自己的模板类几次以了解它是如何完成的.

现在我正在尝试将模板更深入地集成到我的OO设计中,一个唠叨的想法不断回到我身边:它们只是一个宏,真的......你可以使用#defines实现(而不是UGLY)auto_ptrs,如果你真的想要.

这种思考模板的方式有助于我理解我的代码将如何实际工作,但我觉得我必须以某种方式忽略这一点.宏是邪恶的化身,但"模板元编程"风靡一时.

那么,真正的区别是什么?模板如何避免#define引导你进入的危险,比如

  • 在您不期望它们的地方难以理解的编译器错误?
  • 代码臃肿?
  • 跟踪代码有困难吗?
  • 设置调试器断点?

c++ macros templates

54
推荐指数
10
解决办法
2万
查看次数

标签 统计

c++ ×1

macros ×1

templates ×1