问题标签 [virtual]

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 投票
2 回答
715 浏览

memory - 用于存储非重叠间隔的数据结构 + 算法

我想知道你们中是否有人知道存储非重叠间隔的节省空间的方法。我的最终目标是使用它来分配虚拟地址空间(我正在编写一个有趣的操作系统)并且想知道是否可以以比 O(n) 空间复杂度和 O(n) 搜索更好的方式存储空闲空间区域复杂。

概率数据结构可以工作,因为我总是可以遍历页表以找出地址空间是否可用。

谢谢。

0 投票
6 回答
7452 浏览

c++ - 在类声明中使用 virtual 关键字

我在一次采访中被问到在 C++ 中使用类声明的虚拟关键字有什么用,我回答说虚拟关键字不能与 C++ 中的类声明一起使用。面试官说有可能,让我稍后测试一下。

现在我自己检查过了,我知道这是可能的,这不是编译器错误。事实上,当我用 Visual C++ 编译器做这样的事情时:

我收到一个编译器警告“警告 C4091:'virtual':当没有声明变量时,'Test' 左侧被忽略”。我还没有弄清楚这个警告的含义以及 virtual 关键字的用法。如果没有有用的用法,那么为什么首先允许这样做,为什么这不是编译器错误。

0 投票
1 回答
1551 浏览

c++ - 当“virtual”在“class Foo : public virtual Bar”而不是“virtual void frob()”中是什么意思?

当“virtual”在“class Foo : public virtual Bar”而不是“virtual void frob()”中是什么意思?

对于给定的方法,有 8 个案例源于以下三个位置是否存在虚拟。

  1. 超类的功能。
  2. 这个类的继承链。
  3. 此类功能。

我想我了解数字 1 和 3 的交互方式,但数字 2 似乎是多余的。是吗?我不明白什么?

0 投票
7 回答
20316 浏览

c++ - 从覆盖函数调用覆盖函数

假设我在 B 类中有虚函数 foo(),并且我需要在 B 的派生类 D 类中稍有不同的行为。创建覆盖函数 D::foo() 并调用 B::foo( ) 从那里,经过特殊情况处理?像这样:

我不是在问这是否可行,我知道它会。我想知道,就良好的 OOD 而言,它是否正确。

0 投票
4 回答
2324 浏览

php - PHP 5.2 类虚拟静态方法

这是我的情况:我有一个看起来像这样的 PHP 基类:

还有一个像这样的子类:

不幸的是,当我这样做时:

我得到:

而不是我想要的结果,

看起来这可以在 php 5.3 中使用后期静态绑定来完成,但是有什么方法可以在 PHP 5.2.x 中完成这种行为吗?

0 投票
2 回答
3758 浏览

c# - c#截屏虚拟桌面

我找到了一种使用 c# 创建虚拟桌面的方法。现在我想知道我们是否可以截取特定桌面的屏幕截图,如果可以,如何?

提前致谢

暴风雪

0 投票
6 回答
81957 浏览

asp.net - 如何获取 ASP.NET 应用程序的完整虚拟路径

我如何知道我的应用程序当前托管的完整虚拟路径?例如:

或者

我知道 HttpRequest 的应用程序路径,但它只返回我的应用程序当前托管的文件夹名称,但我如何获得初始部分?

0 投票
3 回答
6607 浏览

c# - C# 从本地目录获取 URL 路径

这是我的程序:我正在将图像(Stream、FileInfo 或任何你喜欢的)上传到此虚拟目录中的服务器:“C:\_Resources\Assets”

但是,我希望服务器返回该图像的 URL 路径以将其显示在标签中,即“ http://localhost/Trunk/Assets/image.jpeg

事实上,我正在尝试与 Server.MapPath 方法相反。

请问我怎么得到?

谢谢。

0 投票
7 回答
8812 浏览

c++ - 捕获 dll 异常后访问冲突

我必须在运行时动态地将模块加载为 dll,因为它们事先并不知道,只是它们符合类接口。我注意到的是,在我捕获 dll 抛出的异常(在主线程的主程序中)之后,调用了正确的析构函数并销毁了模块并卸载了 dll,但随后作为 catch 块末尾的 } Visual Studio C++ 调试器在逐行执行时到达,我得到另一个异常,它使程序崩溃

xxxxx.exe 中 0x68ad2377 (msvcr90d.dll) 的第一次机会异常:0xC0000005:访问冲突读取位置 0x02958f14。

如果我启用异常中断,则在第二个异常上中断将位置显示为

msvcr90d.dll!__DestructExceptionObject(EHExceptionRecord * pExcept=0x0017ee4c, unsigned char fThrowNotAllowed=0) 第 1803 行 + 0xf 字节

但看起来帧堆栈可能已损坏。我不知道为什么会抛出这个异常。

我的代码结构的简化版本如下:

一个非常简化的程序结构:

0 投票
4 回答
3520 浏览

windows - Windows 内存映射文件

我正在尝试调查 Windows 内核在内存映射文件/虚拟内存方面的行为。具体来说,我感兴趣的是确定内存映射文件的内容(由 Windows)刷新到磁盘的频率以及 Windows 使用什么标准来决定是时候这样做了。

我在网上做了一些研究,除了 MSDN 更多地处理“如何和为什么”而不是详细说明内部运作之外,似乎没有太多信息。如果有人可以向我指出任何文章或以前曾对此进行过研究并有一些见解,我会欢迎它。

谢谢。