相关疑难解决方法(0)

为什么人们在C++中使用__(双下划线)这么多

我正在浏览一些开源的C++代码,并注意到代码中使用的分数很多,主要是在变量名称的开头.

return __CYGWIN__;
Run Code Online (Sandbox Code Playgroud)

只是想知道是否有这样的原因,或者只是一些人的代码风格?我认为我很难读.

c++ double-underscore

86
推荐指数
6
解决办法
6万
查看次数

如何在Googletest框架的多个测试中将全局变量用于“配置”

我正在使用C ++的Google测试框架。每个文件都包含一个config.hpp,它定义了一个全局配置变量。我想在变量而不是编译时const或中定义我的配置constexpr。如何定义依赖项,以便在链接在一起的不同文件中具有相同的变量?我必须使用单身人士吗?我可以避免吗?有没有更好的推荐方法来使用多个测试文件的xUnit样式?

我的配置文件 config.hpp

#pragma once
struct {
    const float tolerance = 0.001;
    // ...
} CONFIG_VAR;
Run Code Online (Sandbox Code Playgroud)

每个测试* .cpp源文件都类似于:

#include "gtest/gtest.h"
#include "core/config.hpp"
TEST(a, b) { ... }
Run Code Online (Sandbox Code Playgroud)

我的主文件:

#include "gtest/gtest.h"
int main(int argc, char **argv) {
    ::testing::InitGoogleTest(&argc, argv);
    return RUN_ALL_TESTS();
}
Run Code Online (Sandbox Code Playgroud)

我使用以下命令进行编译和链接:

em++  -I $GTEST_ROOT/googletest/include main_all_tests.cpp test_*.cpp
Run Code Online (Sandbox Code Playgroud)

PS。我的问题是变量CONFIG_VAR的多个定义。

我的解决方案基于一个相关的问题

c++ googletest emscripten

2
推荐指数
1
解决办法
2011
查看次数

标签 统计

c++ ×2

double-underscore ×1

emscripten ×1

googletest ×1