摘要:
一、查找算法(13个):判断容器中是否包含某个值1) adjacent_find: 在iterator对标识元素范围内,查找一对相邻重复元素,找到则返回指向这对元素的第一个元素的ForwardIterator。否则返回last。重载版本使用输入的二元操作符代替相等的判断。2) binary_search: 在有序序列中查找value,找到返回true。重载的版本实用指定的比较函数对象或函数指针来判断相等。3) count: 利用等于操作符,把标志范围内的元素与输入值比较,返回相等元素个数。4) count_if: 利用输入的操作符,对标志范围内的元素进行操作,返回结果为true的个数。5) e 阅读全文
摘要:
构造函数string();string( const string& s );string( size_type length, const char& ch );string( const char* str );string( const char* str, size_type length );string( const string& str, size_type index, size_type length );string( input_iterator start, input_iterator end );~string();运算符[], =, == 阅读全文
摘要:
const_cast<new_type>(expression):用于强制消除对象的常量性static_cast<new_type>(expression):用于基本数据类型之间的转换,及类层次结构中基类和子类之间指针或引用的转换reinterpret_cast<new_type>(expression):是C++里的强制类型转换符,只能用于指针dynamic_cast<new_type>(expression):在运行时检查,用于继承体系中进行安全的向下转换,可用于指针和引用,如果不能转化成功将会返回NULL或抛异常 阅读全文
摘要:
代码坏味道1)Duplicated Code(重复的代码)2)Long Method(过长函数)3)Large Class(过大类)4)Long Parameter List(过长参数列)5)Divergent Change(发散式变化)6)Shotgun Surgery(霰弹式修改)7)Feature Envy(依恋情结)8)Data Clumps(数据泥团)9)Primitive Obsession(基本型别偏执)10)Switch Statements(switch语句)11)Parallel Inheritance Hierarchies(平等继承体系)12)Lazy Class(冗赘 阅读全文