草庐IT

lazy-propagation

全部标签

c++ - Boost Log 的普通记录器的 "lazy evaluation"是如何工作的?

[跟进Checkboost::logfilterexplicitly?]以下示例使用来自BoostLog的普通记录器.它输出1,表明expensive()只被调用了一次。它是如何工作的?为什么expensive()没有被调用?LiveOnColiru#include#include#includeintcount=0;intexpensive(){return++count;}intmain(){boost::log::core::get()->set_filter(boost::log::trivial::severity>=boost::log::trivial::warning)

Kotlin,针对 Java 互操作 : Idiomatic type for lazy collection?

当面向Java互操作时,惰性集合应该使用什么类型?Sequence对Kotlin调用者最有意义,因为它的扩展函数默认是惰性的,但强制Java调用者处理Kotlin标准库类型并手动转换序列迭代器(序列不扩展可迭代!)Iterable由于for循环中的隐式使用,对Java调用者来说是有意义的,但会导致毫无戒心的Kotlin调用者由于非惰性扩展函数而意外放弃惰性Stream最适合Java和Kotlin调用者,但可能有开销,并且是Java8+(Kotlin目标6+) 最佳答案 您可以通过实现所有这三个来让每个人都开心。例如:dataclas

Kotlin,针对 Java 互操作 : Idiomatic type for lazy collection?

当面向Java互操作时,惰性集合应该使用什么类型?Sequence对Kotlin调用者最有意义,因为它的扩展函数默认是惰性的,但强制Java调用者处理Kotlin标准库类型并手动转换序列迭代器(序列不扩展可迭代!)Iterable由于for循环中的隐式使用,对Java调用者来说是有意义的,但会导致毫无戒心的Kotlin调用者由于非惰性扩展函数而意外放弃惰性Stream最适合Java和Kotlin调用者,但可能有开销,并且是Java8+(Kotlin目标6+) 最佳答案 您可以通过实现所有这三个来让每个人都开心。例如:dataclas

c++ - 为什么在分配器中允许 `propagate_on_container_swap == false`,因为它可能导致未定义的行为?

注意:最初由MattMcnabb提问作为comment在WhycanswappingstandardlibrarycontainersbeproblematicinC++11(involvingallocators)?.标准(N3797)说如果progagate_on_container_swapAllocator内部是std::false_type如果所涉及的两个分配器比较不相等,它将产生未定义的行为。为什么标准会允许这样的构造,因为它看起来非常危险?23.2.1p9GeneralContainerRequirements[container.requirements.general

android-studio - 定义全局 android.widget var/val 时为 "lateinit"或 "by lazy"

定义全局android.widget变量时,例如TextView,是使用lateinit还是bylazy更可取?我最初认为使用bylazy会更好,因为它是不可变的,但我不完全确定。懒人示例:classMainActivity:AppCompatActivity(){valhelloWorldTextViewbylazy{findViewById(R.id.helloWorldTextView)asTextView}overridefunonCreate(savedInstanceState:Bundle?){super.onCreate(savedInstanceState)setCo

android-studio - 定义全局 android.widget var/val 时为 "lateinit"或 "by lazy"

定义全局android.widget变量时,例如TextView,是使用lateinit还是bylazy更可取?我最初认为使用bylazy会更好,因为它是不可变的,但我不完全确定。懒人示例:classMainActivity:AppCompatActivity(){valhelloWorldTextViewbylazy{findViewById(R.id.helloWorldTextView)asTextView}overridefunonCreate(savedInstanceState:Bundle?){super.onCreate(savedInstanceState)setCo

spring事务传播的Propagation.REQUIRES_NEW以及NEVER MANDATORY验证,及其失效的诡异问题

NEVER不使用事务,如果当前事务存在,则抛出异常验证:@ServicepublicclassPrService{@AutowiredPrDaodao;@Transactionalpublicvoidsavea(){dao.a();//保存第一条数据saveb();}@Transactional(propagation=Propagation.NEVER)privatevoidsaveb(){dao.b();//保存第二条数据inti=1/0;}}写一个controller调用这个savea方法,页面看到的是/byzero,数据库中两条数据都没有插入进去,都回滚了。照说设置了Propagati

properties - 使用 "by lazy"与 "lateinit"进行属性初始化

在Kotlin中,如果您不想在构造函数内或类体顶部初始化类属性,则基本上有以下两种选择(来自语言引用):LazyInitializationlazy()isafunctionthattakesalambdaandreturnsaninstanceofLazywhichcanserveasadelegateforimplementingalazyproperty:thefirstcalltoget()executesthelambdapassedtolazy()andrememberstheresult,subsequentcallstoget()simplyreturntheremem

properties - 使用 "by lazy"与 "lateinit"进行属性初始化

在Kotlin中,如果您不想在构造函数内或类体顶部初始化类属性,则基本上有以下两种选择(来自语言引用):LazyInitializationlazy()isafunctionthattakesalambdaandreturnsaninstanceofLazywhichcanserveasadelegateforimplementingalazyproperty:thefirstcalltoget()executesthelambdapassedtolazy()andrememberstheresult,subsequentcallstoget()simplyreturntheremem

ios - Xcode 8,iOS 8 模拟器崩溃 : "dyld: lazy symbol binding failed: Symbol not found: _objc_unsafeClaimAutoreleasedReturnValue"

更新到Xcode8,在iOS8模拟器中运行我的应用程序并崩溃,尽管iOS9和iOS10没问题。"dyld:lazysymbolbindingfailed:Symbolnotfound:_objc_unsafeClaimAutoreleasedReturnValueReferencedfrom:**Expectedin:/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS8.1.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libobjc.A.dylibdyld:Symbolno