摘要:
静态方法不能访问成员变量,因为在没有创建实例的时候就可以调用该方法,如果可以的话,成员变量又属于哪一个实例呢?方法:静态方法访问成员变量可以通过参数,参数可以为类指针形式非静态方法可以访问静态变量的,因为静态方法本身可以通过类名访问,实际上也可以通过指向该类的引用访问,所以是可以的。 阅读全文
摘要:
1.Eigen 是一个线性算术的C++模板库,包括:vectors, matrices, 以及相关算法。功能强大、快速、优雅以及支持多平台。http://www.oschina.net/p/armadillo+cpp+library2.Armadillo C++ Library 是一种C++的线性代数库(矩阵数学)以取得良好的平衡速度与易用性。整数,浮点,而复杂的数字支持,以及一个子集,三角和统计功能。各种矩阵分解是通过可选的集成 与LAPACK和Atlas 库。延迟评价方法,基于模板元编程,使用(在编译时)结合几个行动之一,并减少或消除需要临时量。http://www.oschina.net 阅读全文
摘要:
1.命名空间类似static,里面成员只作用于本cpp中, 区别在于命名空间为外链接,static为内链接。通过命名名称::变量,仍能被访问到。2.命名空间和extern区别在于,在其他cpp中,extern也可以直接被访问到。 阅读全文
摘要:
1.auto_ptr 不允许加减运算,允许智能指针之间赋值和初始化2.智能指针之间赋值和初始化实质上是两个指针指向同一个对象,前一个auto_ptr将所有权转给下一个auto_ptr,然后为空3.转移所有权导致了auto_ptr不能用在STL中。 阅读全文
摘要:
eg:void error() //某段代码或者函数执行时,内部出现问题,抛出异常{ cout<<"出错\n"; throw wrong(); //抛出异常}voidmain(){ try //尝试执行某个函数或者代码段,该代码段会抛出异常 { error(); }catch (wrong) //捕捉异常,进行处理 { cout<<"该错误已经解决"; }}class people{...class wrong;}...throw wrong();void main(){... try(people::wrong){ ...}}e 阅读全文