gpt4 book ai didi

c++ - 如何在 C++ 的#define 中扩展 '#'?

转载 作者:太空狗 更新时间:2023-10-29 19:52:44 25 4
gpt4 key购买 nike

我想在调试时暴露私有(private)成员,像这样:

class A {
public:
void f1();
#ifndef NDEBUG
public:
#else
private:
#endif
void f2();
};

我想使用像这样的宏:

#define PUBLIC public:
#define PRIVATE \
\#ifndef NDEBUG \
public: \
\#else \
private: \
\#endif

但是,好吧,我知道这行不通...

你们有什么推荐的吗??提前致谢。


编辑 01:

我的目的不是调试我的代码,而是测试私有(private)成员函数。

最佳答案

简单地根据NDEBUG定义不同的PRIVATE:

#ifndef NDEBUG
#define PRIVATE public
#else
#define PRIVATE private
#endif

关于c++ - 如何在 C++ 的#define 中扩展 '#'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20727263/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com