草庐IT

reset-offsets

全部标签

c++ - 将pugixml的result.offset转换为column/line

我需要为使用pugixml的应用程序提供用户友好的错误报告。我目前正在使用result.offset。有没有办法获取行和列?我可能会处理大型XML文件,如果这有所不同的话。 最佳答案 此功能在pugixml中不容易使用,因为在每次解析时执行此操作的成本相对较高,并且在解析完成后,在一般情况下不可能恢复文件/行信息。这是一个构建偏移量->线映射的片段,您可以在解析失败或出于其他原因需要该信息时使用它;随意调整文件I/O代码以满足您的要求。typedefstd::vectoroffset_data_t;boolbuild_offset_

C++: "reset"std::next_permutation()

有没有办法“重置”std::next_permutation()?假设我想多次检查vector的排列。我唯一能找到的是交替地通过next_permutation和prev_permutation。谢谢 最佳答案 “重置”将对序列进行排序,例如使用std::sort.请注意,如果您想使用next_permutation枚举所有排列,您必须从排序序列开始。此外,std::next_permutation一旦再次达到字典序最小排列,将返回false。 关于C++:"reset"std::nex

c++ - "vector iterator + offset out of range"断言有用吗?

这个完美的程序在VisualStudio2013的Debug模式下失败:#include#include#includeusingnamespacestd;voidmain(){vectorv={3,1,4,1,5,9,2,6,5,3};for(autoiFrom=v.cbegin(),iTo=iFrom+5;iFrom!=v.cend();iFrom=iTo,iTo+=5)coutvectoriterator+offsetoutofrange断言失败。它失败是因为iTo>v.cend(),这在这里是无害的。调试器测试没有被取消引用的迭代器的值有什么意义?顺便说一句,我知道我可以将上面

c++ - x86-64 程序集 : why offset 25 bytes?

我今天开始学习x86汇编,通过分析与这个c++示例对应的汇编代码(我知道存在类似atoi的东西,但我想使示例保持最小):#includestd::vectorrange(intN){std::vectorv(N);for(unsignedinti=0;i如果使用g++-O0-S-fno-stack-protectorreturn_by_value.cpp进行编译,则会产生以下摘录:..._Z5rangei:.LFB509:.cfi_startproc.cfi_personality0x3,__gxx_personality_v0.cfi_lsda0x3,.LLSDA509pushq%r

c++ - 我应该对已经定义的智能指针使用 make_unique 还是 reset() ?

假设我有一个函数可以选择分配一个对象并返回它://Classmemberstd::dequem_receiveQueue;//Functioninclassthatoperatesonthequeuetemplatestd::unique_ptrGet(){std::unique_ptrresponse;if(!m_receiveQueue.empty()){response=std::make_unique(m_receiveQueue.front());m_receiveQueue.pop();}returnresponse;}我应该改为:response.reset(newT{m

c++ - std::unique_ptr::reset 检查托管指针是否为空?

我一直在阅读有关C++11智能指针的内容,以便在我的源代码中使用它们,我一直在阅读的文档是cppreference.com上的文档;在阅读std::unique_ptr时,在resetfunction上有一个文档对我来说似乎不正确(强调我的):Replacesthemanagedobject.Givencurrent_ptr,thepointerthatwasmanagedby*this,performsthefollowingactions,inthisorder:Savesacopyofthecurrentpointerold_ptr=current_ptr.Overwritest

c++ - 忽略注释 : offset of packed bit-field without using "-Wno-packed-bitfield-compat"

当我尝试编译以下union时,弹出此警告:10:5:note:offsetofpackedbit-field'main()::pack_it_in::::two'haschangedinGCC4.4#pragmaGCCdiagnosticignore"-Wpacked-bitfield-compat"unionpack_it_in{struct{uint8_tzero:3;uint8_tone:2;uint8_ttwo:6;uint8_tthree:4;uint8_tfour:1;}__attribute__((packed))u8_2;uint16_tu16;};#pragmaGCC

c++ - 使用 reset 初始化 unique_ptr 是个坏习惯吗?

当我需要一个类型为std::unique_ptr的数据成员时,那么我通常使用std::unique::reset()初始化这个unique_ptr用一个新的对象。下面是一个简化的例子:classA{public:voidSetValue(intx){data_.reset(newB(x));}private:std::unique_ptrdata_;};在代码审查中,一位审查者提到这是一个坏习惯,他让我不要使用reset()。如果可能的话。相反,他建议使用以下方法:std::make_unique或者像下面这样的模板函数:templatestructMakeUniqueResult{u

Git报错解决_fatal: unable to access ‘https://github.com: Recv failure: Connection was reset

报错fatal:unabletoaccess'https://github.com:Recvfailure:Connectionwasreset致命:无法访问https://github.com:接收失败:连接被重置产生情况向GithubPush时解决办法关掉系统代理找到系统代理关闭系统代理产生的原因因为开启了代理导致无法正常连接到Github小结使用系统代理可能导致Github内容推送失败

C++ 专家 : is the offset of a member variable to its class constant under these conditions?

给定FooClass*类型的变量foo和该类中名为bar的成员变量,是foo之间的距离和&(foo->bar)在有一些约束的任何情况下都是一样的:FooClass是非POD类型。我们知道foo将始终指向FooClass的实例,而不是它的某个子类型。我们只关心单一编译器和单一编译下的行为;也就是说,在gcc下这可能导致的值永远不会在用MSVC编译的代码中使用,并且永远不会保存以在编译之间重新使用。它在二进制中计算并在二进制中使用,仅此而已。我们不使用自定义new,尽管该类的一些实例可能是堆栈分配的,一些是堆分配的。FooClass没有明确的ctor;它依赖于编译器生成的(FooClass