小编Bun*_*ori的帖子

避免头文件的循环依赖

关于如何避免头文件的循环依赖,你有什么好建议吗?

当然,从一开始,我就尝试尽可能透明地设计项目.但是,随着越来越多的功能和类的添加,以及项目变得不那么透明,循环依赖开始发生.

是否有任何通用,经过验证和工作的规则?谢谢.

c++ architecture software-design

51
推荐指数
4
解决办法
6万
查看次数

数据拉动与推动OOP方法

当我从头开始设计我的系统时,我经常面临一个两难的境地:我的对象是否应该信息送到另一个对象中,或者对象是否应该从另一个对象中提取必要的数据.

在OOP设计中是否有类似标准的东西,我更喜欢按对象的数据拉动,而不是数据推入对象?

任何人都可以提出建议吗,从长期角度来看,或者当OOP结构/框架/图表变得更复杂时,一种方法是否优于另一种方法?

oop design-patterns observer-pattern

38
推荐指数
4
解决办法
2万
查看次数

HTML5,JavaScript:从外部窗口拖放文件(Windows资源管理器)

我可以请一个HTML5文件拖放实现的好例子吗?如果从外部应用程序(Windows资源管理器)到浏览器窗口执行拖放操作,源代码应该有效.它应该在尽可能多的浏览器上工作.

我想问一个有很好解释的示例代码.我不想使用第三方库,因为我需要根据我的需要修改代码.代码应基于HTML5和JavaScript.我不想使用JQuery.

我花了一整天寻找好的材料来源,但令人惊讶的是,我没有找到任何好的东西.我发现的示例适用于Mozilla,但不适用于Chrome.

javascript html5 drag-and-drop draggable

32
推荐指数
4
解决办法
6万
查看次数

C++ STL:二叉搜索树实现?

如果C++ STL包含二进制搜索树(BST)实现,或者我应该构建自己的BST对象,请知道吗?

如果STL没有实施BST,是否有可用的库?

我的目标是能够尽快找到所需的记录:我有一个记录列表(它不应该是几千个.),我在该列表中执行每帧(它的计算机游戏)搜索.我使用unsigned int作为我感兴趣的记录的标识符.无论什么方式,最快的将最适合我.

c++ binary-tree binary-search

31
推荐指数
3
解决办法
5万
查看次数

C++ WinApi:ReadDirectoryChangesW()接收双重通知

我尝试了解ReadDirectoryChangesW功能,以便能够有效地了解多个目录中的内容更改(文件被覆盖,文件被删除,重命名等等).

我最近的一个观察是,对于每个文件写入操作,我总是收到两个单个文件的通知.

我非常仔细地追踪了这一点,我确信,如果我覆盖一个文件(比如一个带有新内容的.txt文件 - 里面几个额外的字母),ReadDirectoryChangesW()每个文件保存会通知我两次.

这是严肃的事情,因为我希望每次更改只通知一次.我不希望无意中重复在我的应用程序中只发生一次的操作.

这种行为是否已知?有没有办法每次更改只收到一个通知,好吗?有没有办法有效避免双重通知?

我用:

  • 非托管C++
  • Visual Studio 2012
  • Windows 7 x64

我使用非常基本的代码来进行测试,但你会想看到它,所以这里是:

HANDLE hDir = CreateFile(
    lpDir,
    FILE_LIST_DIRECTORY,
    FILE_SHARE_WRITE | FILE_SHARE_READ | FILE_SHARE_DELETE,
    NULL, 
    OPEN_EXISTING, 
    FILE_FLAG_BACKUP_SEMANTICS, 
    NULL);

    int nCounter = 0;
    FILE_NOTIFY_INFORMATION strFileNotifyInfo[1024];
    DWORD dwBytesReturned = 0;   

    while(TRUE)
    {
        if( ReadDirectoryChangesW ( hDir, (LPVOID)&strFileNotifyInfo, sizeof(strFileNotifyInfo), FALSE, FILE_NOTIFY_CHANGE_LAST_WRITE, &dwBytesReturned, NULL, NULL) == 0)
        {
            ErrorCheck(_T("Reading Directory Change"));
        }
        else
        {
            _tcout << _T("File …
Run Code Online (Sandbox Code Playgroud)

c++ windows file-io winapi visual-c++

18
推荐指数
2
解决办法
1万
查看次数

解决Android Market商品尚未支持的国家/地区的问题

我希望通过Android电子市场销售付费应用程序,但我的国家/地区(斯洛伐克)不在授权国家/地区列表中(http://market.android.com/support/bin/answer.py?hl=zh-CN&answer=150324).

我可以通过从国内(我的情况下是奥地利)获得Android Market商品的银行获得银行帐户和支付卡来暂时克服此限制吗?

您知道吗,Android Market商家是否可以根据银行的位置,在卡中编码的住所或互联网连接位置来使用商店?

解决这个问题可以帮助许多其他希望分发付费应用的人,但他们的国家尚未被允许使用Android Market商品.

android google-play

17
推荐指数
1
解决办法
6582
查看次数

缓解立方 - 函数参数解释

在这个伟大的网页上,我找到了一个缓动算法列表,可以为我的网页增添不错的视觉吸引力.

尽管如此,我发现在那里简要提到了函数参数(见下文),算法的行为并不像我希望的那样.我可以请求解释在下面提到的函数的参数中应该输入什么值/范围?

参数列表:

  • t:当前时间 - 这里应该是值0 ... 1还是当前帧的实数?
  • b:起始值 - 我假设,正在移动的对象的起始X或Y坐标
  • c:值的变化 - 这里所有帧都能一直是数字1吗?
  • d:持续时间 - 共有帧数?

Math.easeOutCubic = function (t, b, c, d) { t /= d; t--; return c*(t*t*t + 1) + b; };
Run Code Online (Sandbox Code Playgroud)

是否应将值逐步添加到从函数获得的最后一个值,还是应将它们添加到初始0位置?

javascript algorithm math animation

15
推荐指数
1
解决办法
5748
查看次数

使用智能指针作为编程标准?

我听说越来越多,我应该使用智能指针而不是裸指针,尽管我已经实现了有效的内存泄漏系统.

请问使用智能指针的正确编程方法是什么?它们是否真的应用,即使我检查分配的内存块上的内存泄漏?还是由我决定吗?如果我不使用它们,这可以被视为编程弱点吗?

如果强烈建议使用智能指针(例如:std :: auto_ptr),我应该使用它们而不是每个裸指针吗?

c++ pointers smart-pointers visual-c++

14
推荐指数
2
解决办法
2337
查看次数

系统错误0x5:CreateFileMapping()

我希望使用命名共享内存来实现IPC.

为此,其中一个步骤是使用CreateFileMapping()获取映射内存对象的句柄.

我完全按照MSDN网站的说法做到:http://msdn.microsoft.com/en-us/library/aa366551( v = VS.85).aspx:

hFileMappingHandle = CreateFileMapping
    (
        INVALID_HANDLE_VALUE,      // use paging file
        NULL,                      // default security 
        PAGE_READWRITE,            // read/write access
        0,            // maximum object size (high-order DWORD) 
        256,            // maximum object size (low-order DWORD)  
        "Global\\MyFileMappingObject"          // name of mapping object
    ); 
DWORD dwError = GetLastError();
Run Code Online (Sandbox Code Playgroud)

但是,返回的句柄始终为0x0,并且返回的系统错误代码为:0x5(拒绝访问.)

  • 仅需要命名的内存共享(不是文件共享).
  • Windows 7 x64位操作系统
  • 管理员的用户权限可用
  • 开发应用程序:64位插件应用程序(.dll)

有没有人有同样的经历,还有一种解决方法吗?我使用MSDN网站作为我的参考,所以我不认为,代码中存在问题.

c++ windows winapi memory-mapped-files windows-7

11
推荐指数
1
解决办法
1万
查看次数

VS2010:在Application Build上设置文件详细信息

右键单击Windows中的文件(例如:Windows 7 64位)后,会出现一个弹出菜单,其底部带有"属性".

转到:鼠标 - 右键单击​​文件 - >属性 - >详细信息我得到一个包含文件描述的选项卡:

  • 文件描述
  • 类型
  • 文件版本
  • 产品版本
  • 版权
  • 尺寸
  • 修改日期
  • 语言

是否可以从Visual Studio 2010中设置上述任何参数(示例:文件版本,产品版本,版权)?我希望在每次编译/构建会话后都有可用的参数.

如果是的话,怎么做?如果没有,设置它们的适当方法是什么?我还没有在互联网上找到任何相关内容.

c++ windows visual-studio-2010 visual-studio

8
推荐指数
1
解决办法
1万
查看次数