草庐IT

input_buffer_name

全部标签

c++ - 来自 Xcode 8.3.2 : Non-portable path to file - specified path differs in case from file name on disk 的错误警告

出于某种原因,我的代码库突然开始收到数以千计的此类警告。但到目前为止,所有有问题的文件和路径都是完全正确的,与我在磁盘上看到的与Finder相匹配。他们是不是在暗地里另有幕后?当问题实际上并不存在时,为什么Xcode会生成这些警告?尽管http://stackoverflow.com/questions/43067017/non-portable-path-to-file-file-h-specified-path-differs-in-case-from-file-na是关于相同的警告,在这种情况下我已经验证导入路径与磁盘上的文件名匹配。 最佳答案

c++ - 为什么 injected-class-name 有时不被视为类模板中的模板名称?

SourceInthefollowingcases,theinjected-class-nameistreatedasatemplate-nameoftheclasstemplateitself:itisfollowedbyitisusedasatemplateargumentthatcorrespondstoatemplatetemplateparameteritisthefinalidentifierintheelaboratedclassspecifierofafriendclasstemplatedeclaration.所以我尝试检查所有3种情况(另外在基本歧义的情况下,尽管我

c++ - Protocol Buffer : no notation for fixed size buffers?

因为我在this上没有得到答案问题我必须制作原型(prototype)并检查自己,因为我的数据集header需要固定大小,所以我需要固定大小的字符串。那么,是否可以在ProtocolBuffer中指定固定大小的字符串或字节数组?这在这里不是很明显,而且我对强制将固定大小的字符串放入header消息中感到有点难过。--即std::string('\0',128);如果不是,我宁愿使用#pragmapack(1)structheader{...};'编辑问题间接回答here.会回答,除了 最佳答案 protobuf在协议(protoco

c++ - 如何初始化 Protocol Buffer 中的重复元素?

假设我有这条消息。messageA{repeatedfloatw=1[packed=true];}如何在我的代码中初始化w?我还能做得更好吗?a=A()for(inti=0;i 最佳答案 a.w()或a.mutable_w()将返回google::protobuf::RepeatedField它提供了一些额外的选项。例如,您可以调用a.mutable_w()->Reserve(n)提前预分配空间,以避免每次大小加倍时重新分配的通常策略。您也可以使用Resize(n)其次是mutable_data()直接访问底层缓冲区,但这可能不会比

c++ - 用于构建 C++ Google Protocol Buffers 项目的 Makefile

我刚开始使用GoogleProtocolBuffers,我正在尝试将ProtocolBuffer编译器的C++输出文件合并到我的项目中。到目前为止,我一直在为我的项目使用一个简单的makefile,它可以用来构建所有共享相同扩展名的源文件。我的源文件使用“.cpp”,但GoogleProtocolBuffers将其源输出为“.pb.cc”文件。我需要能够将两种类型的源文件编译并链接到一个可执行文件中。我已经搜索并摆弄我的makefile几个小时了,但没有成功。我当前的生成文件:PROGRAM_NAME=aservCC=gccCXX=g++RM=rm-fCPPFLAGS=-g--std=

c# - Google Protocol Buffers - 固定大小的缓冲区?

使用GoogleProtocolBuffers,我可以为我编码的所有消息设置最大大小吗?如果我知道我编码的内容永远不会大于X字节,那么GoogleProtobuffs将始终生成一个大小为Y的缓冲区,如果我给它的数据量较小,则将其填充到大小Y? 最佳答案 protocolbuffers的有线格式不会使这变得微不足道;我不知道有什么办法可以做到这一点,但一种选择是使用您自己的长度header将其序列化到缓冲区中,并根据需要填充额外数据。您需要添加一个长度前缀,因为默认情况下不添加,否则它会在您的缓冲区末尾读取垃圾。即使尾随0也不合法(它

c# - 如何从 Protocol Buffers .NET 代码生成 .proto 文件?

那么,如果我们的类在文件夹中具有属性,那么如何从中生成.proto标记文件(例如获取C++代码)? 最佳答案 “具有属性的类”是指适合protobuf-net的属性吗?如果是这样,protobuf-net有一个GetProto方法,它将提供基于根类型的模式:stringproto=Serializer.GetProto();尽管有相反的传言,但v2中的这个方法已经重新实现了很长一段时间。 关于c#-如何从ProtocolBuffers.NET代码生成.proto文件?,我们在StackO

c++ - G++ 4.4.7 中的 "names the constructor, not the type"

我有以下简单的C++代码:#includeclassA{public:A(inty):x(y){}A&operator=(constA&rhs);intx;};A::A&A::operator=(constA&rhs){this->x=rhs.x;return*this;}intmain(int,char**){Aa1(5);Aa2(4);printf("a2.x==%d\n",a2.x);a2=a1;printf("a2.x==%d\n",a2.x);return0;}第11行,A的operator=()函数的定义所在,格式不正确......或者,至少,我相信是这样。正如预期的那样,

c++ - CRTP + 特征类 : "no type named..."

我尝试使用模板化类实现CRTP,但在使用以下示例代码时出现错误:#includetemplateclassTraits{public:typedeftypenameT::typetype;//'staticconstunsignedintm_const=T::m_const;staticconstunsignedintn_const=T::n_const;staticconstunsignedintsize_const=T::m_const*T::n_const;};templateclassCrtp{public:typedeftypenameTraits::typecrtp_typ

c++ - 为什么将数组作为 "int *& name"传递?

我得到了一个(C++)代码,其中使用数组传递voidfun(int*&name){...}但这背后的想法是什么?我猜它的意思是“一个引用数组”,但是当你只传递一个指向第一个元素的指针时就没问题了,不是吗?那么这样做的动机是什么? 最佳答案 该函数接收对指针的引用。这意味着该函数不仅可以修改name指向的int,还可以修改自身指针函数调用也将在外部可见。例子:#includeint*allocate(){returnnewint();}voiddestroy(int*&ptr){deleteptr;ptr=NULL;}intmain(