【问题标题】:Should the header ctgmath/ tgmath.h be used?是否应该使用头文件 ctgmath/tgmath.h?
【发布时间】:2013-12-23 15:11:10
【问题描述】:

我应该使用标题 ctgmath 吗?它自动包含 cmath 和 ccomplex。它有一些预定义的宏。包含它是否会影响我的代码或这些宏的使用会降低效率?

【问题讨论】:

    标签: c++ c header


    【解决方案1】:

    不,只是在代码中包含标头不会降低效率...而且宏包含不会改变速度,因为宏扩展发生在编译时而不是运行时。

    【讨论】:

    • 不久前我找不到标题中定义的宏。但现在我找不到它们了。我搜索了 cluplus.com 和其他网站。你能帮我找到他们吗?
    • @Level31 根据 C++11 §26.8/1,“标头 仅包含标头 。” IE。它没有定义任何宏。标准 C++ 不支持类型泛型表达式,我听到委员会抱怨说它们不兼容,尽管我不知道困难是什么。
    • @Potatoswatter:对于 C++,必须定义与常规重载的交互。我个人认为 C 应该采用 C++ 重载的子集,而不是发明一种新的、不兼容的机制,但现在为时已晚。
    • @MSalters 什么交互?泛型表达式类似于静态switches。操作数子表达式是完全独立的。
    • 一个新问题是应该使用 fmax 来返回两个整数的最大值吗?
    猜你喜欢
    • 1970-01-01
    • 2013-12-15
    • 2014-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-10
    相关资源
    最近更新 更多