gpt4 book ai didi

C++ 变量可在函数体中声明,但不是类成员?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:07:49 25 4
gpt4 key购买 nike

我想创建一个具有以下类型的 C++ 类:

  1. 它可以在函数内部声明。
  2. 它可以在成员函数内部声明。
  3. 不能声明为类成员。

这个的用途:想想 GC 的“根”对象。

这在 C++ 中可行吗?特别是,我正在使用 g++。愿意切换到 clang。模板或宏解决方案都可以。

谢谢!

最佳答案

你可以用一个宏来做,也许:

#define MY_TYPE \
do { } while(0); \
RealType

void foo() {
MY_TYPE myvar;
myvar.Whatever();
}

这只会在一个函数内部编译(因为“do ... while”位 - 虽然你会得到一个非常奇怪的错误消息)。这似乎是您想要避免的宏的“邪恶”用法之一,但是...

关于C++ 变量可在函数体中声明,但不是类成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2497753/

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