草庐IT

Implicit_cast

全部标签

android - 致命异常 : String can't be cast to Spannable

除了少数设备外,我的应用运行良好。在这样的设备上,我的一项Activity出现了致命异常。错误是java.lang.ClassCastException:java.lang.Stringcannotbecasttoandroid.text.Spannable......atandroid.widget.TextView.setEnabled(TextView.java:1432)堆栈跟踪05-0209:18:19.917:E/AndroidRuntime(20587):FATALEXCEPTION:main05-0209:18:19.917:E/AndroidRuntime(20587

C ++类型铸造。static_cast何时会成功,而reinterpret_cast会引起问题?

我了解一个static_cast是一种从一种类型到另一种类型的演员,它是一种可能在某种情况下成功的演员,并且在没有危险的演员阵容的情况下会有意义。同时,reinterpret_cast是代表不安全转换的演员,可能会重新解释一个值的位作为另一个值的位。有人可以描述何时编译,铸造和static_cast不会引起任何问题,但是reinterpret_cast会有问题吗?看答案这将做到这一点:#includeusingnamespacestd;structC{intn;};structA{intn;};structB:A,C{};intmain(){Bb;B*pb=&b;cout(pb)(pb);}注

android - Proguard 优化设置 : Enabling class merging, casts and field/* in modern API and Proguard versions

很长一段时间以来,我一直在混淆我的应用程序,我把以下设置当作咒语,因为它们是Google的推荐-optimizations!code/simplification/arithmetic,!code/simplification/cast,!field/*,!class/merging/*但是,前几天我错误地评论了这一行,应用程序构建正确,并且“显然”有效。我做了很多测试,没能让它崩溃。所以我想知道是否需要那些禁用的优化设置......截至今天的AndroidSDK和最新的Proguard版本,我只针对Android4.0.3及更高版本(15)的设备,并使用Proguard5.1。对于那

android - DRM WideVine 视频无法从 Android Cast Sender 应用程序播放

我正在使用以下castreceiver当我将我的android发送器连接到chromecast设备时,它显示黑屏并且从不播放视频。https://github.com/googlecast/CastReferencePlayer我在接收器中为widevine设置licenseUrl如下:sampleplayer.CastPlayer.prototype.preloadVideo_=function(mediaInformation){this.log_('preloadVideo_');varself=this;varurl=mediaInformation.contentId;var

【C++】static_cast基本用法(详细讲解)

👉博__主👈:米码收割机👉技__能👈:C++/Python语言👉公众号👈:测试开发自动化【获取源码+商业合作】👉荣__誉👈:阿里云博客专家博主、51CTO技术博主👉专__注👈:专注主流机器人、人工智能等相关领域的开发、测试技术。C++中static_cast如何使用(详细讲解)目录C++中static_cast如何使用(详细讲解)1.使用场景1.1基础数据类型的转换1.2指向派生类的指针或引用转换为指向基类的指针或引用1.3指向基类的指针或引用转换为指向派生类的指针或引用1.4在有关联的类型之间进行转换2.限制3.优点4.注意static_cast是C++中四个命名强制类型转换操作符之一。它用

c++ - 使用 static_cast 实现的转换运算符

我在提出这个问题之后问这个问题here.要点很简单。假设您有两个此类:templateclassBase{...operatorconstDerived&()const{returnstatic_cast(*this);}...};classSpecialization:publicBase{...};然后假设你有一个像这样的类型转换:templatefunctionCall(constBase¶m){constT&val(param);...}问题是:这种转换的符合标准的行为应该是什么?应该和constT&val(static_cast(param))一样吗?还是应该递归迭代

c++ - 为什么像 static_cast 这样的运算符有一定的优先级?

Accordingtocppreference.com,theC++static_castoperator'slevelofprecedenceis2.为什么还要定义这些级别?我想不出任何理由。谁能举个例子? 最佳答案 该标准没有定义优先级;这些可以从语法派生。与任何其他语法特征一样,static_cast在此语法中占有一席之地。因为它的使用需要括号,所以它的操作数表达式永远不会有歧义,但这只意味着从语法中为它推导出优先级是没有意义的,而不是它在语法本身中的位置是没有意义的。因此,该标准在这里没有做任何疯狂的事情。毫无意义的是,无论

c++ - 为什么 C++ 引入 duration_cast 而不是使用 static_cast?

我正在查看一些使用duration_cast的代码。看着它,我想知道为什么不使用static_cast,因为static_cast在生活中的目的是在类型之间进行转换。为什么C++需要一个新的运算符来在时间之间进行转换?为什么未使用static_cast?也许我不理解C++在毫秒、微秒、纳秒等之间产生的差异。出于某种原因,我认为答案很明显或在StackOverflow上进行了讨论,但我没有找到了(还)。 最佳答案 在不存在精度损失风险的情况下,已经存在时间间隔的直接转换。duration_cast在存在精度损失风险时是必需的。dura

c++ - 为什么 static_cast 不使用转换运算符指向 const 的指针?

来self的包装类Pointer我只想返回指向const的指针:Baseconst*.类型转换时Pointer至Derivedconst*我收到一个编译错误:errorC2440:'static_cast':'Pointer'cannotbeconvertedto'constDerived*'(译自德语VS2012)structBase{};structDerived:publicBase{};templateclassPointer{public:Pointer(T*t=nullptr):p(t){}//operatorT*(){returnp;}operatorTconst*()c

c++ - 非多态类型上的 Dynamic_cast

我能理解为什么dynamic_cast在这种情况下有效:#includestructA{virtual~A()=default;};structB{virtual~B()=default;};structC:A,B{};voidf(constA&a){if(autop=dynamic_cast(&a))std::cout但是为什么如果你从B中删除多态性它仍然有效:#includestructA{virtual~A()=default;};structB{};structC:A,B{};voidf(constA&a){if(autop=dynamic_cast(&a))std::cout