小编Met*_*ets的帖子

零开销原则有哪些重要的例外,如果有的话?

作为(可能的)示例,LLVM编码标准禁止使用标准RTTI或例外:http: //llvm.org/docs/CodingStandards.html#do-not-use-rtti-or-exceptions

这是一个好主意,还是大多数程序的编码标准过时或不合理?

C++中是否有任何其他此类功能,即使您不使用它们,也会显着恶化程序的速度,内存使用或可执行文件大小?

c++

4
推荐指数
1
解决办法
2026
查看次数

有没有办法在一行上获取 __LINE__ 的值并在其他行上使用该值?

本质上,我想这样做:

#include "foo.h"
#include "bar.h"
static const unsigned line_after_includes = __LINE__;

int main()
{
    foo(line_after_includes);
    bar(line_after_includes);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

除了这样:

#include "foo.h"
#include "bar.h"
#define LINE_AFTER_INCLUDES __LINE__

int main()
{
    FOO(LINE_AFTER_INCLUDES);
    BAR(LINE_AFTER_INCLUDES);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

是否可以扩展为定义的行上LINE_AFTER_INCLUDES的值,以便稍后我可以将其与其他宏一起使用?我只想使用第一个代码片段中的变量,但我需要该值作为整数文字,因为我将在 switch 语句中使用它。另一种选择是做__LINE__LINE_AFTER_INCLUDES

    #define LINE_AFTER_INCLUDES 3 // MAKE SURE THIS IS ON LINE IT'S DEFINED AS!!!
Run Code Online (Sandbox Code Playgroud)

这是丑陋且难以维护的。我会满足于此,但我会做一些比这个例子更复杂的事情......

c-preprocessor

3
推荐指数
1
解决办法
1164
查看次数

标签 统计

c++ ×1

c-preprocessor ×1