真是个不明觉厉的术语...其实是个特别简单的概念orz
用白话讲,如果一个class A中用到了class B的实例,那么class B的实例就是class A的依赖,如果不是在class A中定义class B的实例,而是通过某个接口,将class B的实例传入classA,就叫依赖注入。
阅读更多把std::async,std::packaged_task,std::promise三个放在一起来说,是因为他们都可以返回一个std::future对象.简单来说,当某个线程需要等待一个特定的一次性事件(one-off event),它可以用一个"future"来表示这个事件.
阅读更多condition_variable 类是同步原语,能用于阻塞一个线程,或同时阻塞多个线程,直至另一线程修改共享变量(条件)并通知 condition_variable 。
用人话来说,condition_variable,也就是条件变量,是线程间通信的一种方式。
阅读更多起因是想更新一个array类型的state,结果setState更新之后用console.log() debug 结果,发现结果特别玄学。。。
查了下发现this.setState是个异步操作。。。
阅读更多先放资料:
Learning a New Programming Language: Java for C++ Programmers
java package
先说几条重要的人话:
* 一个java文件第一行可以声明该文件所属于的package,package的名字必须与整个工作目录的路径名相同。 * 同一个package下的class默认有互相访问的权限。 * 访问属性设置为public的class,如果该class所在的file声明了package,那么可以被其他package下的class访问到。 * .java的文件名必须与文件中设置为public的class名保持一致(如果没有public的类,那么名称任 …
阅读更多背景
move semantics是modern cpp中非常重要的特性,有必要详细了解一下。
updateime: 2022年7月2日
move semantic
基本的内容大家都很熟悉,就不说了
std::move 做了什么
std::move没有move任何内容,只是简单把传进来转换为对应的rvalue reference
阅读更多起因是在看《CplusplusConcurrencyInAction_PracticalMultithreading》的时候,里面讲到初始化std::thread的时候,如果thread funtion的参数列表中有引用,需要传入std::ref才可以得到符合预期的结果。
阅读更多20181014update: 可以不写了,开心
迫于生计,要从零开始学习前端。
由于之前的to do list 年代久远+ 前端的技术栈可之前几乎没有关系,因此新开一篇记录。
* css盒子模型 * 布局,flex * 前端debug的方法 * <del>javascript,</del>有空可以使用js刷leetcode练习语法 * <del>typescript</del> * jsx,以及jsx的typescript版tsx * 学习axios https://alligator.io/react/axios-react/ * 学习dva: …
阅读更多