草庐IT

标准图

全部标签

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按钮为灰色(修复开启)状态的图片,右侧是按钮为绿色(修复关闭)状态的图片,可以看到右侧的图片并没有自动添加背景颜色,也没有颜

c++ - 标准库头层次结构

跟进我对这个问题的回答:SIGSEGVondeclaration在这个问题中,提问者遇到了一些简单代码的段错误问题。事实证明,它甚至没有为我和其他人编译。GCC(4.8.1)由于重新声明名称为bsearch的变量而出错,该名称恰好与std中的函数名称相同。这导致了冲突,因为代码还使用了usingnamespacestd;。由于提问者接受了我的回答,我猜这与运行时错误有某种关系(虽然很奇怪)。然而,提问者说代码可以在代码块上正常编译,其他人也证实了这一点。bsearch应该在cstdlib中定义,但代码中没有包含它。事实证明,gcc包含cstdlib,如果iostream无论如何都包含在

c++ - libstdc++ 不识别标准库文字

我正在尝试使用std::literals命名空间中的文字来编译一个简单的程序,但是当我尝试编译它时Clang会生成错误。我要编译的代码:#include#includeusingnamespacestd::literals;intmain(){std::cout和编译命令:clang++-stdlib=libstdc++-std=c++1ya.cpp这导致了这个输出:a.cpp:4:22:error:expectednamespacenameusingnamespacestd::literals;~~~~~^a.cpp:8:29:error:nomatchingliteralopera

c++ - 如何在 C++ 中使用两个排序标准(对于一组对)创建一个有序集?

我需要订购一组对(一个是int,第二个是char),我需要像这样订购我的套装:12G,11F,10A,10B,10C(从第一个降序,从第二个升序)第一。到目前为止,这是我尝试过的方法,但出现了一些错误:#include#include#include#include#includeusingnamespacestd;set>s;boolmyfunction(constpair&i,constpair&j){if(i.first>::iteratorit;for(it=s.begin();it>n;for(inti=1;ix;intst;charnd;f>>st;f>>nd;x.firs

c++ - 将生成的进程标准输出捕获为 unicode

在我的C++/WinAPI代码中,我想运行一些命令并捕获它们的输出。为了测试非ASCII输出,我将我的网络连接重命名为EthérnétאבגБбИгДд并运行ipconfig。在命令提示符下运行时,输出正确(使用CourierNew等支持字体时可见):C:\>ipconfigWindowsIPConfigurationEthernetadapterEthérnétאבגБбГгДд:(...)我尝试将输出重定向到管道,跟随theexampleinthisanswer.但是从ReadFile()返回的字节数组不是unicode-它是在CP_OEMCP(在我的例子中是CP437)中编码的,

c++ - 冲突的不匹配标签与标准库一起编译,但不以其他方式编译

我在看如何std::tuple_size在我系统的标准库中定义。我有一个MacOS,编译器版本是AppleLLVMversion8.1.0(clang-802.0.42).标准库位于InstalledDir中g++--version输出的位置鉴于以下代码无法编译(因为clang不喜欢将之前定义为struct的东西特化/重新声明为class,反之亦然)#include#include#include#include#includeusingstd::cout;usingstd::endl;templateclassSomething;templatestructSomething>;te

c++ - 在 MoveAssignable 的情况下,标准对 self 移动赋值有何看法?

这是C++17的currentdescriptionMoveAssignable的:t=rv;Iftandrvdonotrefertothesameobject,tisequivalenttothevalueofrvbeforetheassignmentrv'sstateisunspecified.[ Note:rvmuststillmeettherequirementsofthelibrarycomponentthatisusingit,whetherornottandrvrefertothesameobject.Theoperationslistedinthoserequireme