cout输出控制台
显示屏<<cout<<...<<i++<<++i<<endl;
从endl开始向cout输入信息
cout在物理上用栈实现,所以endl在栈低,输出时会最后出现。
i和++i在cout中保存为i的引用
i++会在cout中保存结果
第一步:将 endl 压入栈中, i 值不变;
第二步:将 i 的引用压入栈中, i 的值加 1 变成 2(因为是 ++i );
第三步:将 2 压入栈中, i 的值加 1 变成 3(因为是 i++ );
第四步:将 i 的引用压入栈中, i 的值不变(因为是 i );
第五步:将 3 压入栈中, i 的值加 1 变成 4(因为是 i++ );
第六步:将 i 的引用压入栈中, i 的值加 1 变成 5(因为是 ++i );
第七步:将栈里的数据依次弹出,即可得到 53525 。(因为i的值是 5 ,所以所有 i 的引用都是 5 )
库iomanip包含对输入输出的控制
setprecision(n)//n指输出时的有效位数
fixed 小数点后几位
示例:cout << setprecision(18) << fixed << g << endl;
setiosflags 强制显示小数点,正负号
setw() 宽度
数组动态分配 一维:int* a=new int[n];
二维:int** a=new int*[n];
获取字符串长度
string a;
a.length();
a.size();
strlen->字符
判断字母大小a>='a'&&a<='z';
sort()排序函数
sort(a,a+b)//a为数组首地址,b为要排序的个数,升序
sort(a,a+b,cmp)//cmp为标志函数,降序
bool cmp(int x,int y)
{
return x>y;
}
stringstream是流的输入输出
stringstream sstream;//定义了一个流对象
1.string str;
int value;
sstream<<value;//
sstream>>str;//
2.sstream<<"first"<<" "<<"string,"
sstream<<"second string";//实现字符串拼接
sstream.str()//以string形式输出
sstream.str("")//将流中内容变为“ ”,且无法再向流中加入内容,后接clear()可继续添加内容
sstream.clear()//将字符串转换操作清除
本文为学习笔记,个人使用为主,cout函数部分引用了下文,有兴趣者可前往一下网址。
https://blog.csdn.net/qq_35481167/article/details/82792103