草庐IT

int_types

全部标签

c# - memcpy array 到 int 的 C# 等价物是什么?

编辑:我认为这个问题与潜在的重复问题不同,因为那个问题的答案都不包含我使用的方法,即BitConverter类。如果我将其标记为不重复,则删除潜在的重复问题链接hereitis.我想知道这段代码的C#等价物是什么考虑到数组中的每个元素都是一个字节并且它被复制到一个int。byteoffsetdata[sizeof(int)]={0,0,0,0};offsetdata[0]=m_Response[responseIndex++];offsetdata[1]=m_Response[responseIndex++];offsetdata[2]=m_Response[responseIndex

c++ - 2 成员结构是否可以安全地替代位压缩 int?

我有一些现有的C++代码可以通过网络发送和接收uint32_t数组。由于我的协议(protocol)发生了变化,我想用一对两个uint16_t替换这个数组中的每个条目,如果可能的话,我想这样做而不改变我发送的位数网络。将两个uint16_t值组合成单个32位宽值的一种明显方法是将低级位打包到uint32_t中,并保持数组定义不变.所以发件人的代码看起来像这样:uint32_titems[ARR_SIZE];for(std::size_ti=0;i(static_cast(field2)(field1));}接收方的代码如下所示://receiveitemsfor(std::size_t

c++ - 将 std::map<int, std::shared_ptr<Base>> 转换为 std::map<int, std::shared_ptr<Derived>> 的最有效安全方法

我们目前存储了几个不同的数据模型集合,如下所示:std::map>>models;字符串映射到一个已知的类型列表,这都是通过序列化处理的。嵌套映射包含“对象ID”和关联(反序列化)std::shared_ptr的集合DataObject是一个基类,我们从中派生出多种类型。我们有一个方法来获取给定类型的所有数据对象:staticstd::map>*getAll(std::stringtype);这只是在给定的“类型”键处返回指向map的指针。今天我遇到了一个代码审查来添加我认为调用UB但似乎起作用的以下内容。这让我有点紧张并寻找有效的解决方案:templatestaticstd::map

c++ - 警告: "when type is in parentheses, array cannot have dynamic size"?的原因是什么

我已经发布了一个关于与数组的动态内存分配相关的GCC错误的问题:Anerrorisissuedbygccrelativetoparsingtype-idinanewexpression现在使用ClangHEAD10.0.0我收到以下警告:rog.cc:9:37:warning:whentypeisinparentheses,arraycannothavedynamicsizeint(**a)[N3]=new(int(*[n1])[N3]);~~^~~当我运行这个演示程序时:#includeintmain(){constsize_tN3=4;size_tn1=2;int(**a)[N3]

c++ - 为什么这个 EXC_BAD_ACCESS 发生在 long long 而不是 int 上?

我遇到了一个EXC_BAD_ACCESS,其中包含一段处理数据序列化的代码。该代码仅在设备(iPhone)上失败,在模拟器上不会。它还仅在某些数据类型上失败。这是重现问题的测试代码:templatevoidtest_alignment(){//allocatememoryandrecordtheoriginaladdressunsignedchar*origin;unsignedchar*tmp=(unsignedchar*)malloc(sizeof(unsignedshort)+sizeof(T));origin=tmp;//pushdatawithsizeof2bytes*((u

javascript - Qt编程: How to use custom data type in QVariantMap?

我正在编写一个Qt应用程序,将C++类映射到QtWebkit中的Javascript对象。首先让我解释一下我想做什么:我有一个继承自QObject的类:classmyobj:publicQObject{Q_OBJECTpublic:myobj();~myobj();pulbicslots:voidgetData();}在另一个类中,我尝试将myobj实例添加到QVariantMap:QVariantMapanotherClass::getObj(){myobj*obj1=newmyobj();myobj*obj2=newmyobj();QVariantMapitems;items.in

c++ - 重载 ‘QString(int)’ 不明确

下面的代码片段给出了编译错误重载“QString(int)”的调用不明确与qt4.7.3(系统是linux64bit,debian不稳定)structQSAConnection{QSAConnection():sender(0),signal(0),function_ref(){}QSAConnection(QObject*send,constchar*sig,QSObjectref):sender(send),signal(QLatin1String(sig)),function_ref(ref){}QObject*sender;QStringsignal;QSObjectfunct

c++ - 使用 int 和 string boost::interprocess 映射

我有以下代码使用boost进程间将映射保存到共享内存中usingnamespaceboost::interprocess;//Sharedmemoryfront-endthatisabletoconstructobjects//associatedwithac-string.Eraseprevioussharedmemorywiththename//tobeusedandcreatethememorysegmentatthespecifiedaddressandinitializeresourcesshared_memory_object::remove("MySharedMemory

c++ - `mpl::plus< mpl::int_<1>, mpl::int_<2>>::type` 与 `mpl::int_<3>` 不是同一类型?

下面的代码再现了一个我真的不理解boostMPL库的行为:#include#include#includeusingnamespaceboost;intmain(){typedefmpl::int_one;typedefmpl::int_two;typedefmpl::int_three;//Thefollowinglinebreakscompilation...//static_assert(is_same::type,three>::type::value,"Notthesametype");//...whilethisworksstatic_assert(mpl::plus::t

c++ - 解码 Microsoft True Type 字体文件

我正在使用TFTLCD作为显示器(480x800px)的嵌入式平台(STM32F407)工作,并且想让我的用户界面在某种程度上为最终用户定制。我认为最好的字体来源是与Windows兼容的,因为它们最常见。我当前的实现使用我自己的二进制格式的自定义绘制字体和一个给出字符宽度和ascii值的描述符表,但不得不一点一点地绘制我自己的字体是乏味的。我想从SD卡中读取TrueType字体文件,并能够使用其中不同大小的字形,但我还没有看到关于如何实际实现这种魔力的直接实现。有人可以指出我正在寻找的一个很好的c/c++示例吗?作为解决问题的更好方法,我想制作一个简单的gcc命令行程序,它将使用“#”