一些记不住的用法

 c++ io格式

复制代码
//头文件:
#include<iostream>
#include<iomanip> //io manipulator 

//四舍五入保留n为小数的用法 cout<<fixed<<setprecision(n)<<var; //setw(int n) setw(n)用法: 通俗地讲就是预设宽度 如 cout<<setw(5)<<255<<endl; 结果是:(空格)(空格)255

//setfill(char c)的用法 setfill(char c) : 在预设宽度中如果已存在没用完的宽度大小,则用设置的字符c填充 如 cout<<setfill('@')<<setw(5)<<255<<endl; 结果是:@@255

//setbase(int n)的用法 setbase(int n) : 将数字转换为 n 进制. 如 cout<<setbase(8)<<setw(5)<<255<<endl; 结果:(空格)(空格)377 cout<<setbase(10)<<setw(5)<<255<<endl; 结果:(空格)(空格) 255 cout<<setbase(16)<<255<<endl; 结果:(空格)(空格) f f
复制代码

 pair 和 make_pair< , >

  • 使用pair与make_pair要包含头文件 #include  < utility >
  • pair实质上是一个结构体,其主要的两个成员变量是first和second
  • 一般make_pair使用在需要pair做参数的位置,可以直接调用make_pair生成pair对象。
  • pair可以接受隐式的类型转换

下面是一段pair与make_pair的例子程序:

复制代码
 1 #include <iostream>
 2 #include <utility>
 3 #include <string>
 4 using namespace std;
 5  
 6 int main () {
 7   pair <string,double> product1 ("tomatoes",3.25);
 8   pair <string,double> product2;
 9   pair <string,double> product3;
10  
11   product2.first = "lightbulbs";     // type of first is string
12   product2.second = 0.99;            // type of second is double
13  
14   product3 = make_pair ("shoes",20.0);
15  
16   cout << "The price of " << product1.first << " is $" << product1.second << "\n";
17   cout << "The price of " << product2.first << " is $" << product2.second << "\n";
18   cout << "The price of " << product3.first << " is $" << product3.second << "\n";
19   return 0;
20 }
复制代码

 Memset(,0x3f,sizeof())

经常会看到大佬啊神犇啊会用:
memset( , 0x3f , sizeof );
 0x3f3f3f3f 真的是个非常精巧的常量
他的十进制是 1061109567也就是10^9级别的(和0x7fffffff一个数量级), 一般场合下的题目数据都是小于10^9的,所以它可以作为无穷大使用而不致出现数据大于无穷大的情形
因为0x3f3f3f3f的每个字节都是0x3f!所以要把一段内存全部置为无穷大,我们只需要memset(a,0x3f,sizeof(a))(memset按字节赋值)。

memset(a,0,sizeof(a));赋值0
memset(a,-1,sizeof(a));赋值-1
上述例子对于a数组为int或long long时,成立。
posted @   Stickycat  阅读(30)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示