草庐IT

Bit_RESET

全部标签

c++ - 错误 : invalid initialization of non-const reference of type ‘bool&’ from an rvalue of type ‘std::vector<bool>::reference {aka std::_Bit_reference}’

为什么我会收到错误:从类型为“std::vector::reference{akastd::_Bit_reference}”的右值对类型为“bool&”的非常量引用进行无效初始化?vector>vis;bool&visited(intx,inty){returnvis[x][y];//error}据我所知,vector中的operator[]返回引用,所以它应该是一个左值,但它不起作用。我应该怎么做才能让它发挥作用? 最佳答案 那是因为std::vector不是它看起来的样子。std::vector有一个特化与类型bool-它是空间

c++ - 为什么 make_unique 不能与 unique_ptr::reset 一起使用?

我尝试用VS2013编译一些C++代码,unique_ptr::reset()似乎不适用于make_unique();一个小的可编译重现代码片段如下:#includeusingnamespacestd;intmain(){unique_ptrp=make_unique(3);p.reset(make_unique(10));}从命令行编译:C:\Temp\CppTests>cl/EHsc/W4/nologotest.cpp这些是来自MSVC编译器的错误:test.cpp(6):errorC2280:'voidstd::unique_ptr>::reset>>(_Ptr2)':attem

c++ - IP 标志的 Don't Fragment Bit 在哪里使用?

我很想知道IP标志的“Don'tFragment”[DF]位在哪里使用。由于碎片对更高层是不可见的,他们也不在乎。我也在找例子。非常感谢。 最佳答案 碎片并不总是对所有上层不可见。一些早期的(甚至可能是当前的)微ControllerTCP/IP堆栈没有实现碎片处理等完整功能。在这种情况下使用标志将确保数据包以其原始形式到达,而不是另一端无法处理的大量片段。此外,当使用UDP时,不需要所有的片段都到达目的地,因此,防止片段化意味着消息要么到达要么没有到达——不可能只有UDP数据报的一部分会到达目的地。我不记得TCP/IP堆栈为等待丢失

c++ - 如何使枚举类与 'bit-or' 功能一起使用?

我通常将enum与“位或”或|一起使用,以允许对象具有一些选项。如何使枚举类使用“位或”功能? 最佳答案 您需要为您的枚举类重载运算符并通过转换为基础类型来实现它们:enumclassfoo:unsigned{bar=1,baz=2};foooperator|(fooa,foob){returnstatic_cast(static_cast(a)|static_cast(b));}…当然这可以推广(使用SFINAE和std::underlying_type)。在我看来,C++没有提供开箱即用的功能是一种疏忽。这是一般的实现方式://

c++ - 如果我碰巧注意到它已过期,我应该在 weak_ptr 上调用 reset 吗?

我收藏了Creature使用std::make_shared在我的应用程序的一部分中创建和拥有的对象和std::shared_ptr.我还跟踪了零个或一个的选择Creature在World使用std::weak_ptr的对象.voidWorld::SetSelection(conststd::shared_ptr&creature){selection=creature;}std::shared_ptrWorld::GetSelection()const{returnselection.lock();}GetSelection的来电者负责检查指针是否为空。如果是,则表示当前没有选择。T

c++ - 我应该在我的 C++ std 随机分布上调用 reset() 来清除隐藏状态吗?

我想用简单的函数包装来自C++11标准库的随机数分布,这些函数将分布的参数和生成器实例作为参数。例如:doublenormal(doublemean,doublesd,std::mt19937_64&generator){staticstd::normal_distributiondist;returndist(generator,std::normal_distribution::param_type(mean,sd));}我想避免分布对象中的任何隐藏状态,以便每次调用此包装函数仅取决于给定的参数。(潜在地,对该函数的每次调用都可能采用不同的生成器实例。)理想情况下,我会让分发实例s

python - Win 64bit GetThreadContext 返回 zeroe'd out 寄存器,或 0x57 错误代码

我在Windows764位机器上工作(我有管理员权限)。我正在使用Python2.7(64位)和Eclipse的PyDevctypes来尝试读取与特定PID关联的所有线程中的寄存器值(尝试了以64位和32位模式运行的进程的PID),但是当我这样做时,寄存器的值都被清零了。当我使用Wow64GetThreadContext时,调用失败,GetLastError返回0x00000057(根据MSDN,“无效参数”)我成功附加到进程,枚举线程(通过CreateToolhelp32Snapshot),找到具有适当PID的进程所拥有的线程,并尝试获取线程上下文。这是我打开线程并获取线程上下文的代

c++ - 澄清 : Porting 32 to 64 bit

引自http://msdn.microsoft.com/en-us/library/windows/desktop/aa384242%28v=vs.85%29.aspxUseUINT_PTRandINT_PTRwhereappropriate(andifyouareuncertainwhethertheyarerequired,thereisnoharminusingthemjustincase).DonotcastyourpointerstothetypesULONG,LONG,INT,UINT,orDWORD.我可以安全地假设在现有32位代码行中将所有引用的DWORD转换为UNIT

windows - Inno 安装程序 : Use "Program Files" directory on both 32bit/64bit systems with {pf}

常量{pf}是的目录C:\ProgramFiles对于32位系统和C:\ProgramFiles(x86)对于64位系统。不过我想用目录C:\ProgramFiles适用于32位和64位系统。我怎样才能做到这一点? 最佳答案 使用scriptedconstant喜欢:[Setup]DefaultDirName={code:GetProgramFiles}\MyProgram[Code]functionGetProgramFiles(Param:string):string;beginifIsWin64thenResult:=Expa

php - 使用 session 时在 xampp 上可能导致 ERR_CONNECTION_RESET 错误的原因

我的xampp(Windows)有问题,我的文件中有session_start();但它喜欢放弃该请求...当我尝试使用localhost/folder/index.php访问页面时它有效但是当我尝试外部ip/folder/index.php或127.0.0.1/folder/index.php或[::1]/folder/index.php它只是断开连接(尝试了多个浏览器,chrome给出了ERR_CONNECTION_RESET...我很无能,我迫切需要帮助...当我从我的文件中删除session_start();时它起作用了......当我使用session_start();创建新