function test(){ var arr = [ ]; for (var i = 0; i < 10; i++) { (function(i){ arr[i] = function(){ console.log(i); }; }(i)) }; return arr ; }; var f = test(); console.log(f); for (var i = 0; i < f.length; i++) { f[i](); }
在C++中,特殊成员函数指的是那些编译器在需要时会自动生成的成员函数.C++98中有四种特殊的成员函数,分别是默认构造函数.析构函数.拷贝构造函数和拷贝赋值运算符.而在C++11中,随着移动语义的引入,移动构造函数和移动赋值运算符也加入了特殊成员函数的大家庭.本文主要基于Klaus Iglberger在CppCon 2021上发表的主题演讲Back To Basics: The Special Member Fuctions以及Scott Meyers的著作Effective Modern C+
常量:对于既需要共享.又需要防止改变的数据.在程序运行期间不可改变. const 修饰的是对象中的 this 指针.所以不能被修改. 1.常对象 数据成员值在对象的整个生存期内不能改变.在定义时必须初始化,而且不能被更新. 常对象,只能调用常成员函数,保证常对象的数据成员不被改变. class point { public: point(int i, int j) { x = i, y = j; } private: int x, y; }; // 定义常对象 point , ); // 定义时