为什么输出要变成50,它本来应该是20。
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int v[] = {10, 20, 30, 50, 20, 70, 30};
int* i1;
i1 = std::min_element(v + 3, v + 4);
cout << *i1 << "\n";
return 0;
}
Run Code Online (Sandbox Code Playgroud) 在文档中是书面的,但我听不懂。
当此对象插入树中时调用。
框架将为它创建的每个State对象仅一次调用此方法。
重写此方法以执行初始化,具体取决于将此对象插入树中的位置(即上下文)或用于配置此对象的小部件(即小部件)。
如果State的构建方法依赖于本身可以更改状态的对象(例如ChangeNotifier或Stream)或可以订阅以接收通知的其他对象,则State应该在initState期间订阅该对象,并从旧的状态中取消订阅对象,并在didUpdateWidget中更改时订阅新对象,然后在处置中取消订阅该对象。
您不能通过此方法使用BuildContext.inheritFromWidgetOfExactType。但是,didChangeDependencies将在此方法之后立即调用,并且可以在此处使用BuildContext.inheritFromWidgetOfExactType。
如果重写此方法,请确保您的方法始于对super.initState()的调用。
但是我不确定它的含义。你能解释一下吗?