草庐IT

downcasting

全部标签

c++ - boost::shared_polymorphic_downcast 在 boost 1.53.0 中消失了。我应该用什么代替?

boost::shared_polymorphic_downcast在boost1.52.0之间消失了和1.53.0.releasenotes中对此没有提及。,并且提交(r81463)仅包含神秘的日志消息“更新shared_ptr转换。”我不清楚我现在应该使用什么,或者为什么删除此功能。有人可以帮忙吗?编辑:感谢大家富有洞察力的评论。我发现自己有点沮丧,因为boost会在没有任何理由或通知的情况下在版本中做出向后不兼容的更改,而且我也感到沮丧的是它们删除了有用的功能。但是根据响应,我可以用两行代码而不是一行代码来完成我想做的事情,所以我认为这就足够了。尽管如此,我仍将这个问题“悬而未决

快速编译错误: Downcast from 'String?!' to 'String' only unwraps optionals; did you mean to use '!!' ?

升级到cocoapods1.0后,我得到以下代码行的编译错误:varstrName=String()varstrEmail=String()varstrFacebookID=String()varstrPassword=String()varobjHelper=Helper()....letstrFirstName=result["first_name"]as!StringletstrLastName=result["last_name"]as!Stringself.strName=strFirstName+"_"+strLastNameself.strEmail=result["em

ios - AppDelegate 的 'downcasting' 会失败吗?

在使用CoreData时,我们需要访问可通过AppDelegate访问的共享存储。要获取对AppDelegate的引用,我们可以通过执行以下操作来获取它:guardletappDelegate=UIApplication.shared.delegateas?AppDelegateelse{return}为什么向下转型到Appdelegate时我们必须如此安全?沮丧是否会因为某种原因而失败?如果是,为什么?我环顾四周,找不到我们为什么要写这段代码的原因,想知道我为什么要写这些东西会有帮助! 最佳答案 AppDelegate的可选向下转

c++ - C++11 中 boost::shared_polymorphic_downcast 的 std 等价物在哪里?

boost::shared_polymorphic_downcast和另一个boost::shared_ptr功能位于我最近使用-std=c++0x在GCC中启用了对C++11的支持.为了避免混淆,我从boost::shared_ptr搬过来了至std::shared_ptr位于#include.但是看起来shared_polymorphic_downcast不是std的一部分命名空间,不包含在#include中.你知道它在哪里吗?我错过了弃用备忘录吗;-) 最佳答案 您需要std::static_pointer_cast或std:

swift - 什么是 Swift 中的桥接转换,如以下警告 : Conditional downcast from 'Data?' to 'CKRecordValue is a bridging conversion

什么是Swift中的桥接转换?“桥接”是什么意思?我在下面的代码中收到一条警告,其中我用注释“//warning”进行了标记:importUIKitimportCloudKitletint:UInt8=1letdata:Data?=Data([int])letrecord:CKRecord=CKRecord(recordType:"record_type")record.setObject(dataas?CKRecordValue,forKey:"field")//warning警告说:Conditionaldowncastfrom'Data?'to'CKRecordValue'(ak

c++ - 符合标准的编译器可以拒绝包含来自非多态类型的 dynamic_cast downcast 的代码吗?

这个问题的灵感来自评论here.考虑以下代码片段:structX{};//novirtualmembersstructY:X{};//mayormaynothavevirtualmembers,doesn'tmatterY*func(X*x){returndynamic_cast(x);}一些人建议他们的编译器会拒绝func的正文.但是,在我看来,这是否由标准定义取决于x的运行时值。.来自第5.2.7节([expr.dynamic.cast]):Theresultoftheexpressiondynamic_cast(v)istheresultofconvertingtheexpres