算法竞赛 从c到c++3

const

常指针,指向固定位置,不能再次修改指向的位置,需要初始化,const 加在“*”号后面,名称前面,例如 int *const p;

指向常量的指针,不能修改指向地址的内容,相当于常引用,const 加在类型前面;

我们把一个对象变成常量,不能调用一般的成员函数,因为可能会改变它的数据,所以系统不让调用一般的成员函数,我们只能重载函数加一个const 成员函数,写法是:返回类型 名字(参数)const{}

class与struct的区别:

class 成员默认为私有的,struct默认为共有的。

初始化的时候,我们可以调用构造函数,我们也能用大括号赋值,相当于拷贝构造函数,创建对象或者如何初始化对象;

string类:

和字符数组有很多相同的地方,我们能够用下标访问,

增加到功能,重载了操作负,通过size(),获得长度;字符数组中比较两个字符数组的大小用 strcmp,我们可以调用类的函数str1.compare(string) 返回值和strcmp相同 ;

string five(字符数组,长度(默认为前面字符数组的长度));

string five(&:pos:n)

string类的输入:

  1。直接流输入,可以自动忽略空格和换行符。

  2.cin.getline(info,100),读一行忽略换行符。

  3.getline(cin,stuff,中断的标记) //读取一行,忽略换行符。

运算符重载:六种运算符

find 查找一个字符或者一个子窜,找不到返回string::npos;

实现 string.find("target",startpos(0)); 返回下标;

rfind( ,startpos)从右侧找;最后一次出现

find_first_of();从左到右返回第一个与参数任意一个字符匹配的位子

find_first_not_of从左到右不在参数里面的位置;

find_last_of();同理;

find_last_not_of同理;

str.c_str();返回一个const char 数组用指针接收

string  a=s.substr(pos,len);返回一个字符常量;

assert(加一个判断);//断言,如果失败会中断程序;

原文地址:https://www.cnblogs.com/hjw201983290498/p/12727909.html