问题标签 [empty-class]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1024 浏览

c++ - 处理比较:空类与未定义类与 void*

Microsoft 的GDI+定义了许多在内部被视为句柄的空类。例如,(来源GdiPlusGpStubs.h

还有另外两种定义句柄的方法。他们是,

我只想知道每种方法的优缺点。

微软方法的一个优点是,他们可以使用空类定义句柄的类型安全 层次结构,这(我认为)在其他两种方法中是不可能的,尽管我想知道这种层次结构会给实现带来什么好处?无论如何,还有什么?

编辑:

第二种方法(即使用不完整的类)的一个优点是我们可以防止客户端取消引用句柄(这意味着,这种方法似乎强烈支持封装,我想)。如果尝试取消引用句柄,代码甚至无法编译。还有什么?

第三种方法也具有相同的优势,即您不能取消引用句柄。

0 投票
8 回答
11875 浏览

java - C++,java中空类的大小是多少?

C++ 和 Java 中空类的大小是多少?为什么不是零? sizeof();在 C++ 的情况下返回 1。

0 投票
1 回答
296 浏览

c++ - 我们可以检测 C++03 中的空类吗?

可能重复:
有没有一种简单的方法来判断一个类/结构是否没有数据成员?

我们可以检测到emply classes,可能使用模板吗?

只有 C++03,不是 C++0x!

0 投票
2 回答
650 浏览

c++ - 为什么无法创建空类的 const 对象

上面的代码无法编译,谁能告诉我为什么?

0 投票
4 回答
69576 浏览

python - Python中的空类对象

我正在教授一个关于面向对象编程的 Python 课程,当我在复习如何解释类​​时,我看到了一个空的类定义:

然后该示例继续为此类的对象定义名称和其他属性:

有趣的!

我想知道是否有办法为这样的类的实例动态定义函数?就像是:

这在我的 Python 解释器中不起作用,但是还有另一种方法吗?

0 投票
3 回答
2155 浏览

c++ - 为什么空基类优化 (EBO) 在 MSVC 中不起作用?

为什么空基类优化 (EBO) 没有在 Visual C++ 中得到充分应用?

如果我有很多基类,有什么办法可以帮助编译器进行这种优化?

0 投票
4 回答
26540 浏览

c# - 生成空对象 - 具有空属性/子类的空类 C#

我有两节课:

现在,如果我想创建 Human 的新实例,我必须这样做Human person = new Human(); 但是当我尝试访问时,我person.properties.prop1=1;在属性上有 nullRefrence,因为我也必须创建新属性。我必须这样做:

现在我可以访问这个person.properties.prop1=1;

这是一个小例子,但我有从 xsd 生成的巨大类,我没有太多时间手动生成这个“人”类及其所有子类。有没有办法以编程方式完成它,或者是否有一些生成器?

或者我可以遍历类并为每个属性创建新类 typeof 属性并将其加入父类吗?

谢谢!

0 投票
1 回答
3069 浏览

c++ - C++ 异常抛出空类

以下是“编程:使用 C++ 的原理和实践”的节选。我对throw Bad_area()表示法感到困惑。这本书试图解释它,“Bad_area() 的意思是'创建一个 Bad_area 类型的对象'”,然后继续抛出该类型。这种解释与赋值符号不一致,例如。整数 x=1 == 整数 x(1); Bad_area x;.

示例代码(注释掉 try-block):

0 投票
3 回答
1141 浏览

c++ - 从非空基类继承的空派生类

在基类中,由于 i 是私有的,它不应该被继承到派生类。因此,Base 类应该充当空类。并且 sizeof 空类是 1 ,那为什么它显示为 4 ?

0 投票
2 回答
183 浏览

c++ - 为什么 sizeof(Derived4) 是 8 字节?我认为应该是 5 个字节

这是给定程序的输出:

这是程序:

Derived3 的大小为 1 个字节。那为什么 Derived 4 的大小是 8 个字节?如果对齐是答案,那么为什么在derived3 的情况下没有对齐?