宏有什么好的用途吗?

Ole*_*siy 9 c++ macros

据我所知,宏在编译器正确看到它之前重新排列程序文本,因此可能导致问题.我几乎没有在C++代码中看到它们,主要是在C.

我所知道的唯一好处是包含警卫(#ifndef).

还有什么需要用宏来完成,不能以更干净的方式实现吗?

Mat*_* M. 4

日志记录异常

宏可让您轻松捕获__FILE__,__LINE____func__。哦,当然你可以每次都手动编写它们,但坦率地说,这是乏味且容易出错的(两者__FILE__都是__func__C 字符串,所以你有将它们混淆的风险)。