草庐IT

md-input-container

全部标签

c++ - 标准 : container c++ move to front

我正在寻找一个像std::list这样可以有效地将元素移到前面的std容器:a-b-c-d-e将“b”移到前面:a-c-d-e-b标准容器中没有这样的功能。因此,我认为我必须结合remove和push_front函数,但有没有人能找到更好的主意?提前致谢。 最佳答案 如果你不必维护其他元素的顺序,那么最简单的解决方案无疑就是交换您想要的元素与容器中的第一个元素。这个将对所有容器有效。否则,std::list提供了一个splice操作,它可以使用。我认为类似于以下内容:voidmoveToFront(std::list&list,st

c++ - 为什么在分配器中允许 `propagate_on_container_swap == false`,因为它可能导致未定义的行为?

注意:最初由MattMcnabb提问作为comment在WhycanswappingstandardlibrarycontainersbeproblematicinC++11(involvingallocators)?.标准(N3797)说如果progagate_on_container_swapAllocator内部是std::false_type如果所涉及的两个分配器比较不相等,它将产生未定义的行为。为什么标准会允许这样的构造,因为它看起来非常危险?23.2.1p9GeneralContainerRequirements[container.requirements.general

c++ - 正确签名/检测 Container::reserve() 的存在

给定C类型,它是符合STL的容器,我如何正确检测C是否包含成员函数reserve?我尝试了以下方法(使用GCC4.6.3):templatestructhas_reserve:std::false_type{};templatestructhas_reserve::value>::type>:std::true_type{};这适用于作为std::vector的C,但不适用于无序容器,例如std::unordered_set。原因是,reserve是std::vector的(直接)成员函数,但对于无序容器,它是从基类继承的,即它的签名对于某些未指定的基类,不是void(C::*)(ty

c++ - Visual Studio 2013 C++ : STL container's elements display in debugger

C++调试期间的MSVS2013(Autos和Watch窗口)仅显示STL容器的大小:MSVS2010:"[9](9,8,7,6,5,4,3,2,1)"MSVS2013:"{size=9}"需要行扩展才能在MSVS2013中查看元素的值。有没有办法让MSVS2013在调试器中像MSVS2010一样显示STL容器?我试图删除STL.natvis(它在2013年使用),但没有帮助:autoexp.dat仍然没有被使用。是否可以强制MSVS2013使用autoexp.dat?是否可以修改STL.natvis脚本(从容器元素的值构造DisplayString)?还有其他办法吗?

windows - C++11 + SDL2 + Windows : Multithreaded program hangs after any input event

我正在使用C++11、MinGW和WindowsAPI开发屏幕捕获程序。我正在尝试使用SDL2实时观察我的屏幕捕获程序是如何工作的。窗口打开正常,只要我只移动鼠标光标,程序似乎运行良好。但是如果我在窗口中单击它的菜单栏,在窗口外,或者按任意键,SDL窗口就会卡住。我已经为事件设置了一些日志记录以弄清楚发生了什么。除了SDL_WINDOW_FOCUS_GAINED之外,我从未收到任何事件,SDL_TEXTEDITING,和SDL_WINDOWEVENT_SHOWN以该顺序。所有这些都是在开始时收到的。我试图找到有关SDL事件处理的教程,因为这是我对问题根源的最佳猜测。除了基本的事件处理之

windows - 如何将容器推送到 Google Container Registry(无法创建存储库)

编辑:我只是将此归咎于平台不一致。我现在已经放弃推送到GoogleCloudContainerRegistry,而是创建了一个UbuntuVM,我正在这样做。出于前面所述的原因,我也投票结束了这个问题,而且这可能首先应该在服务器故障上被问到。感谢大家的帮助!运行$gclouddockerpushgcr.io/kubernetes-test-1367/myapp结果:Thepushreferstoarepository[gcr.io/kubernetes-test-1367/myapp]595e622f9b8f:Preparing219bf89d98c1:Preparing53cad0e

windows - 通过 INPUT 结构发送 Ctrl Alt Del 不起作用?

如何模拟这个ctrlaltdel使其工作?我的代码如下:INPUT输入;/*生成一个“按下键”*/Input.type=INPUT_KEYBOARD;Input.ki.dwFlags=KEYEVENTF_SCANCODE;Input.ki.wScan=29;Input.ki.dwExtraInfo=0;Input.ki.wVk=0;Input.ki.time=0;SendInput(1,&Input,sizeof(Input));Input.type=INPUT_KEYBOARD;Input.ki.dwFlags=KEYEVENTF_SCANCODE;Input.ki.wScan=56

windows - 批处理脚本 : Validate Date Input

我有一个批处理文件,用于为客户创建新的项目文件夹,引导用户完成创建过程并将适当的文件和文件夹添加到中央位置。我需要添加一个输入部分,以便他们可以输入日期(不一定是当前日期),并且它包含在文件的命名中。我遇到的问题是,我需要对日期输入进行虚拟证明,而且我一直在寻找答案,但找不到答案。我希望用户以MM-DD-YYYY格式输入日期,包括破折号。然后需要将其格式化为YYYY-MM-DD。它需要足够聪明,强制用户使用所需的格式MM-DD-YYYY;必须是数字和破折号、没有斜线、正确数量的字符等等。我无法找到任何接近甚至远程让我到达我需要去的地方的东西,所以我在这方面向那些了不起的天才寻求帮助,因

python - Windows 上的 WX Python 和原始输入 (WM_INPUT)

有谁知道如何使用RawInput从WXPython应用程序在Windows上运行?我需要做的是能够区分来自多个键盘的输入。因此,如果有另一种方法可以实现这一目标,那也行得通。 最佳答案 您尝试过使用ctypes吗?>>>importctypes>>>ctypes.windll.user32.RegisterRawInputDevices设置必要结构的Python版本可能需要一些工作,但您可以通过这种方式直接查询Win32API而无需通过wxPython。 关于python-Windows

windows - Windows "Failed to create MD5 hash for file"上的 Gradle 构建错误

我正在现有项目上运行gradle构建,但遇到以下错误。Whatwentwrong:Failedtocapturesnapshotofoutputfilesfortask'someTask'property'destinationDir'duringup-to-datecheck.FailedtocreateMD5hashforfile'my_project_dir\.gradle\3.5\fileContent\fileContent.lock'.尝试:使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获得更多日志输出。我使用--stackt