我想知道一个空类的对象的大小.它肯定不能是0字节,因为它应该可以像任何其他对象一样引用和指向它.但是,这样的对象有多大?
我用过这个小程序:
#include <iostream>
using namespace std;
class Empty {};
int main()
{
Empty e;
cerr << sizeof(e) << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我在Visual C++和Cygwin-g ++编译器上得到的输出是1个字节!这对我来说有点令人惊讶,因为我期望它的机器字大小(32位或4字节).
任何人都可以解释为什么 1字节的大小?为什么不是 4个字节?这是依赖于编译器还是机器?此外,有人可以给出一个更有说服力的理由,说明为什么空类对象的大小不是 0字节?
我看到C++ 0x将添加对UTF-8,UTF-16和UTF-32文字的支持.但是这三种表述之间的转换呢?
我打算在我的代码中到处使用std :: wstring.但在处理文件和网络时,我还需要操纵UTF-8编码数据.C++ 0x是否也支持这些操作?
我正在使用一个名为21 char max的api代表一个内部会话,其寿命大约为"两天".我希望这个名字不是有意义的使用某种哈希?md5生成40个字符,还有其他我可以使用的吗?
现在我使用'userid [:10]'+创建时间:ddhhmmss +随机3个字符.
谢谢,
机器WORD总是相同还是依赖于机器架构?WORD语境对于敏感或普遍适用的含义是什么?
这个:
http://msdn.microsoft.com/en-us/library/ms686915(VS.85).aspx
似乎没有暗示.
我有三个进程通过管道进行通信.进程A创建一个事件,进程B&C每个都使用WaitForSingleObject(在第二个线程中).
所以现在我们有-TWO-每个进程等待-SINGLE-事件.
进程A使用SetEvent()触发事件,进程B响应,进程C不响应.
结论:
每个WaitForSingleObject()都需要一个唯一的事件......正确吗?
以下代码打印一长串包含哈希值和文件名的文件
md5sum *.java
Run Code Online (Sandbox Code Playgroud)
我尝试列出出现相同哈希值的行,但没有成功,这样我就可以删除相同的文件。
如何过滤和删除具有相同内容的相同文件?
我用MSVC++做了一个FPS游戏,它在Windows上运行得很好.但现在我试图让它可移植(至少我想创建一个Linux和Windows版本),所以我决定将IDE更改为Code :: Blocks,将框架更改为wxWidgets.但似乎虚拟键码和扫描码在不同系统上是不同的.
之前我曾经历过,即使在同一个操作系统上,虚拟键码也可能不同但计算机不同(我得到了关于他们无法控制角色的bug报告(取决于numlock状态,lol,而不是笑话),这在修改后修复了代码使用扫描码而不是virtkey代码)(编辑:使用wxWidgets,numpad上的virtkey和扫描代码具有不同的值,具体取决于numlock状态,砰!)
现在使用wxWidgets,似乎wxKeyEvent :: GetRawKeyCode和之前从WM_KEYDOWN的lParam获得的代码是不同的.我还从GetRawKeyCode获得了一个完全不同的linux(ubuntu)扫描代码.
好吧,我可以通过按下所有键并查看它给出的代码来制作我自己的扫描码表,但是ubuntu在我的笔记本电脑上运行的唯一问题是,笔记本电脑没有全键盘...但我需要所有这些使控制设置工作.
所以问题是:是否有一种标准的跨平台方式来获得相同密钥的相同代码(相同位置的密钥更精确)?(至少在Windows和Linux上)
我在IIS上主页上有一个ASP.NET网站.在我的家庭网络之外,我可以看到网站,但在网络内部,它给我一个404错误.我可以将该网站浏览为localhost.这似乎是一个DNS问题,只是不知道如何解决它.