草庐IT

标准ACL

全部标签

c++ - VC是否符合警告C4407的标准?

以下源代码在VC中生成警告C4407,编译器确实生成了不正确的代码。structA1{inta1;};structA2{inta2;};structB:A1,A2{voidf(){std::cout*pb)();(pA->*pa)();}产生的代码不正确,因为在调用pa时没有调整指针pA,导致中的this指针值错误f。但是,代码在GCC和clang中编译良好,没有任何警告(严格别名除外)。指针pA在GCC和clang生成的代码中进行了适当的调整。所以,我想知道标准对此有何看法?上面代码中的转换是否符合标准?或者它是GCC和clang的非标准扩展? 最佳答案

c++ - 具有最新标准支持的 Mingw 构建

是否有支持文件系统命名空间的mingw版本?我正在将项目从vc移动到mingw,并且不想添加boost文件系统,因为目前它在gcc/Linux和vc/win下使用实验命名空间在没有boost的情况下工作。 最佳答案 MinGWGCC8.2.0可以在没有实验命名空间的情况下使用文件系统。虽然它只能通过使用-lstdc++fs与文件系统一起工作(当然应该有-std=c++17编译标志或类似的东西). 关于c++-具有最新标准支持的Mingw构建,我们在StackOverflow上找到一个类似

c++ - 在 C++ 中是否有符合标准的方法来执行零拷贝 IPC?

我有一个应用程序当前从流(套接字、命名、管道、标准输入等)中读取数据到char缓冲区,然后使用reinterpret_cast指向一个Foo*(其中Foo是POD)进入缓冲区的中间,然后通过该指针处理缓冲区的内容。现在,这违反了严格的别名规则,但我怀疑它在实践中是否真的会引起问题。不过,在标准C++中是否有公认的方法来执行此操作?因为我们可能会以这种方式传输数百千兆字节,并且在任何情况下都不想引入将此数据从缓冲区复制到具有memcpy的结构中的开销。为了清楚起见,代码看起来像这样:MessageData*msg=newMessageData();while(ipc.we_have_da

c++ - 仅使用 C++ 中的标准库获取以毫秒为单位的当前日期和时间

我正在尝试打印这样的时间戳。2018-05-24T20:16:07.339271我不想使用Boost或任何第三方库。我只想使用标准库。我使用的是Clang6,因此我应该能够在必要时使用C++17。我开始查看chrono并得到了类似的东西。autonow=std::chrono::high_resolution_clock::now();但是,我不确定如何从上面获取我想要的日期时间格式。 最佳答案 我猜你最好的选择是使用std::localtime+std::put_time 关于c++-

c++ - 将 std::web_view 工具引入标准有什么好处?

根据TheLibraryEvolutionIncubator的最新session,获得大力支持的设施之一是std::web_view。提案在P1108R2中描述并将用于enablesmodern,natural,multimodaluserinteractionbyleveragingexistingwebstandardsandtechnologies.std::web_vieww("web_viewtestapp");w.set_uri_scheme_handler("wv",[&](conststd::string&uri,std::ostream&os){std::cout""

c++ - 带有标准容器的 std::shared_ptr

我有一个容器shared_ptrs和我将这些对象交给WindowsAPI,稍后我使用原始ptr获得回调。我要找对shared_ptr事后。这可以用shared_ptr干净地完成吗?(不使用shared_from_this())。非常基本的例子:classCFoo{};typedefstd::shared_ptrCFooPtr;typedefstd::setCFooSet;externCFooSetm_gSet;voidSomeWindowsCallBack(CFoo*pRawPtr){m_gSet.erase(pRawPtr);}我知道这可以用intrusive_ptr来完成很容易,但

c++ - C++ 的自动编码标准违规检测

我想做的是让我的CI服务器运行一个工具来扫描代码,并根据定义的指南检测存在的任何编码标准违规行为。我将使用输出来提示构建“失败”,直到问题得到解决。我遇到的问题是,我的工程师将大部分时间花在代码审查上,寻找违反编码标准的行为,而不是寻找错误(发现的缺陷中有70-76%与标准相关)。我的理论是,如果他们不需要寻找违反标准的行为,他们将根据他们正在寻找的内容进行分支。有这样的东西吗? 最佳答案 你要的叫静态分析其中2个是免费的:cppcheck—Open-sourcetoolthatchecksforseveraltypesoferro

c++ - 我应该如何使用新的 C++11 标准进行 C++ 编程?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。我已经使用C++编程一段时间了,我习惯于做如下事情:vectorvi;for(vector::const_iteratorit=vi.begin();it!=vi.end();++it){//dosomethingwithit}但是新的C++标准C++11引入了auto关键字,所以我可以这样写:vectorvi;for(autoit:vi)//dosom

【Midjourney】关于标准模型的几个按钮都有什么用

当用户在MidjourneyBot所在的服务发送/settings命令时就能调出设置窗口,本文将介绍该窗口中的各个按钮都有什么作用。1.RAWMode依照官方的描述来看V5.2模型似乎带有自动优化功能,会对用户输入的关键词空白描述进行补全和优化,以便修复所生成图像的模糊和空白内容,用户可以在设置中手动关闭优化,这样将会使用输入的原始关键词生成图片,好处是能对生成内容进行更精确的控制,坏处是需要输入更多、更精确的关键词填补空缺。以下是官方给出的对照图片,左侧是RAWMode按钮为灰色(修复开启)状态的图片,右侧是按钮为绿色(修复关闭)状态的图片,可以看到右侧的图片并没有自动添加背景颜色,也没有颜

如何连接ACL认证的Redis

应用程序连接开启了ACL认证的Redis时与原先的方式有差别,本文介绍几种连接开启ACL认证的Redis的Redis的方法。1.Python程序如果你想使用python通过用户名密码连接开启ACL的Redis,你可以参考以下的方法:首先,需要安装redis-py库,这是一个python的Redis客户端,可以方便地操作Redis。可以使用pip或者conda来安装redis-py库。其次,需要创建一个Redis对象,用来连接Redis服务器。可以使用Redis的构造函数来指定host,port,username和password。例如,Redis服务器的地址是localhost,端口是6379