草庐IT

UINT_PTR

全部标签

不匹配类型UINT32和BOOL GO

我有这样的宏观定义:#definenormalize(c,a)c=(a)+((a)==0xFFFFFFFF)我正在旅行中重写它,只要我知道没有像c宏那样的东西。因此,我创建了一个正常功能:funcnormalize(auint32,c*uint32){*c=a+(a==0xFFFFFFFF)}问题在于,这给我带来了类型的不匹配错误。有什么想法如何解决?看答案所以你的cnormalize宏分配c至a如果a不等于0xffffffff,或者0否则。我不确定它是什么样的归一化,但现在不是我的关注。因此,鉴于您提供的GO功能签名,这将有效:funcnormalize(auint32,c*uint32){

C++智能指针shared_ptr用法

目录shared_ptr功能介绍shared_ptr提供的接口shared_ptr初始化shared_ptr管理指针的构造和析构shared_ptr获取原始指针shared_ptr的线程安全shared_ptr应用之enable_shared_from_this写在前面的总结:一个shared_ptr对象管理一个指针(newT,在堆空间),多个shared_ptr对象可以管理同一个指针,只有某个shared_ptr对象第一次初始化指针时才执行指针的构造函数,管理同一个指针的shared_ptr对象个数称为引用计数,这个引用计数保存在每个管理该指针的shared_ptr对象中,当引用计数为0时,

c++ - 调用函数时,C++ 中的 ptr** 和 ptr*& 之间有区别或首选吗?

在函数中更改指针是否有区别或首选方法?以这个片段为例voidchange(int**ptr){**ptr=50;*ptr=nullptr;}voidchange(int*&ptr){*ptr=50;ptr=nullptr;}intmain(){inta=5;int*ptr=&a;int**ptr2=&ptr;std::cout似乎这两个更改函数都可以实现我的要求,但我不确定它们之间的区别,除了引用函数不会创建指针的拷贝外? 最佳答案 你可以有一个空指针,但不能有一个空引用。您可以为第一个提供nullptr,它将编译1,因为存在从st

ios - 如何将 UIColor RGB 颜色转换为 uint32_t 值

如何将UIColor对象转换为uint32_t值。请让我知道是否有人知道这一点?代码如下:constCGFloat*components=CGColorGetComponents([UIColorredColor].CGColor);CGFloatr=components[0];CGFloatg=components[1];CGFloatb=components[2];constuint32_trgb=((uint32_t)r如何在uint32_t中传递0xFFFFFFFF值?constuint32_twhite=0xFFFFFFFF,black=0xFF000000,transp=0

Swift:将数据填充到 UInt8 类型的 unsafeMutablePointer 中不起作用

我有以下不起作用的代码。如何向UnsafeMutablePointer的内存块中填充数据?bufferSize是1024,我试着把0,1,2...1023填入buffer。letpbuffer=UnsafeMutablePointer.alloc(bufferSize)forindexin0...bufferSize-1{pbuffer[index]=UInt8(index)}谢谢! 最佳答案 您的问题不是UnsafeMutablePointer,而是您试图用一个不适合它的值初始化一个UInt8;UInt8的最大值为255。所以,直

c# - 使用 uint 与 int

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭7年前。Improvethisquestion一段时间以来,我观察到C#程序员倾向于在所有地方使用int,而很少求助于uint。但我从未找到关于原因的满意答案。如果互操作性是您的目标,则uint不应出现在公共(public)API中,因为并非所有CLI语言都支持无符号整数。但这并不能解释为什么int如此普遍,即使在内部类中也是如此。我怀疑这就是在BCL中很少使用uint的原因。在C++中,如果您有一个整数,负值对它没有意义,您可以选择

parsing - 如何在 Go lang 中转换 uint16 中的字符串值?

我正在研究一种解决方案,以便将字符串(在我的例子中,字符串是“05f8”)转换为uint16。我进行了研究,但没有找到解决方案。有人知道如何执行此操作吗?感谢您的帮助! 最佳答案 使用strconv.ParseUint(doc)。vars="05f8"varbase=16varsize=16value,err:=strconv.ParseUint(s,base,size)value2:=uint16(value)//done!请注意,输出值是一个uint64,您必须在使用前将其转换为您键入的值。注意(bis)大小参数控制要转换为的u

c++ - tr1::shared_ptr 和 boost::shared_ptr 的区别?

tr1::shared_ptr和boost::shared_ptr有什么区别吗?如果有,是什么? 最佳答案 不,boostshared_ptr的文档说:ThisimplementationconformstotheTR1specification,withtheonlyexceptionthatitresidesinnamespaceboostinsteadofstd::tr1. 关于c++-tr1::shared_ptr和boost::shared_ptr的区别?,我们在StackOv

c# - 为什么 Stream.Write 不采用 UInt?

Stream.Write对我来说似乎非常不合逻辑使用int,而不是UInt...对于这个事实,除了“遗留”代码之外还有其他解释吗?有人想写-1字节吗?!? 最佳答案 无符号类型不符合CLS,因此Stream.Write不使用uint进行偏移和计数。参见:uint(C#Reference)TheuinttypeisnotCLS-compliant.Useintwheneverpossible.有一篇旧文:Whywedon'thaveunsignedtypesintheCLSbyBradAbrams(2Sep2003)这解释了原因:Ho

php - 使用 SWIG 在 PHP 中包装 boost::shared_ptr

如果我使用SWIG包装这个C++函数:boost::shared_ptrClient::create(){returnboost::shared_ptr(newClient());}然后在PHP中调用它:$client=Client::create();echogettype($client);$client的类型是resource,不是object,所以我不能调用Client方法。包装此功能的选项有哪些?我正在为其他人的C++库创建一个PHP包装器,因此重新编写代码以不使用boost::shared_ptr并不是一个真正的选择。这是迄今为止我想出的唯一解决方案:MyClientCli