问题标签 [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.
c++ - 处理比较:空类与未定义类与 void*
Microsoft 的GDI+定义了许多在内部被视为句柄的空类。例如,(来源GdiPlusGpStubs.h
)
还有另外两种定义句柄的方法。他们是,
我只想知道每种方法的优缺点。
微软方法的一个优点是,他们可以使用空类定义句柄的类型安全 层次结构,这(我认为)在其他两种方法中是不可能的,尽管我想知道这种层次结构会给实现带来什么好处?无论如何,还有什么?
编辑:
第二种方法(即使用不完整的类)的一个优点是我们可以防止客户端取消引用句柄(这意味着,这种方法似乎强烈支持封装,我想)。如果尝试取消引用句柄,代码甚至无法编译。还有什么?
第三种方法也具有相同的优势,即您不能取消引用句柄。
java - C++,java中空类的大小是多少?
C++ 和 Java 中空类的大小是多少?为什么不是零?
sizeof();
在 C++ 的情况下返回 1。
c++ - 为什么无法创建空类的 const 对象
上面的代码无法编译,谁能告诉我为什么?
python - Python中的空类对象
我正在教授一个关于面向对象编程的 Python 课程,当我在复习如何解释类时,我看到了一个空的类定义:
然后该示例继续为此类的对象定义名称和其他属性:
有趣的!
我想知道是否有办法为这样的类的实例动态定义函数?就像是:
这在我的 Python 解释器中不起作用,但是还有另一种方法吗?
c++ - 为什么空基类优化 (EBO) 在 MSVC 中不起作用?
为什么空基类优化 (EBO) 没有在 Visual C++ 中得到充分应用?
如果我有很多基类,有什么办法可以帮助编译器进行这种优化?
c# - 生成空对象 - 具有空属性/子类的空类 C#
我有两节课:
现在,如果我想创建 Human 的新实例,我必须这样做Human person = new Human();
但是当我尝试访问时,我person.properties.prop1=1;
在属性上有 nullRefrence,因为我也必须创建新属性。我必须这样做:
现在我可以访问这个person.properties.prop1=1;
这是一个小例子,但我有从 xsd 生成的巨大类,我没有太多时间手动生成这个“人”类及其所有子类。有没有办法以编程方式完成它,或者是否有一些生成器?
或者我可以遍历类并为每个属性创建新类 typeof 属性并将其加入父类吗?
谢谢!
c++ - C++ 异常抛出空类
以下是“编程:使用 C++ 的原理和实践”的节选。我对throw Bad_area()表示法感到困惑。这本书试图解释它,“Bad_area() 的意思是'创建一个 Bad_area 类型的对象'”,然后继续抛出该类型。这种解释与赋值符号不一致,例如。整数 x=1 == 整数 x(1); 或Bad_area x;.
示例代码(注释掉 try-block):
c++ - 从非空基类继承的空派生类
在基类中,由于 i 是私有的,它不应该被继承到派生类。因此,Base 类应该充当空类。并且 sizeof 空类是 1 ,那为什么它显示为 4 ?
c++ - 为什么 sizeof(Derived4) 是 8 字节?我认为应该是 5 个字节
这是给定程序的输出:
这是程序:
Derived3 的大小为 1 个字节。那为什么 Derived 4 的大小是 8 个字节?如果对齐是答案,那么为什么在derived3 的情况下没有对齐?