- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
struct mystruct
{
using this_class = mystruct;
/*
old typedef such as:
typedef struct mystruct this_class;
also does not work
*/
this_class(){}
};
此代码在 Visual C++ 中运行良好,但在 gcc 或 clang 中失败。我怀疑即使使用 c++11、c++14 或 c++17 开关,它也可能不是 100% C++。
但是拥有一个 this_class
typedef 是非常有用的,因为它允许通过简单地调整
使用 this_class = new_class_name
无需更改类定义中出现的所有类名。
当我从 visual c++ 移植我的代码时,gcc 和 clang 中是否有一个开关允许我继续使用这个有用的语句(在 visual c 中允许)?
注意:这与之前的问题不同:“我可以在 C++ 中实现自主的 self
成员类型吗?” ' 因为我想知道 clang 和 gcc 中是否有开关允许 visual c++ 中允许上述语句。我对另一个问题中显示的复杂黑客不感兴趣,只是对编译器之间的兼容性切换感兴趣
最佳答案
我会违反一个神圣的原则,但你可以用一个简单的宏来做到这一点。
#define THIS_CLASS mystruct
struct THIS_CLASS {
THIS_CLASS (){}
};
#undef mystruct
关于C++ 构造函数 : using this_class (gcc vs visualc),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41069735/
当您在 C++ 非静态方法中时,您可以使用 this 变量来引用当前实例;通过实例你也有类型。在静态方法中,我希望有类似 this_class 类型的东西可供我使用,这是我在其中实现该方法的类的类型。
struct mystruct { using this_class = mystruct; /* old typedef such as: typedef
我已经创建了一个简单的 Spring boot 应用程序,我正在尝试将其移动到更新的 jdk 版本。我的计划是使用 jlink 并将其作为一个完整的包分发。但是我收到了这个错误: this_class
我是一名优秀的程序员,十分优秀!