1.sort函数
sort函数的模板有三个参数:
void sort (RandomAccessIterator first, RandomAccessIterator last, Compare comp);
(1)第一个参数first:是要排序的数组的起始地址。
(2)第二个参数last:是结束的地址(最后一个数据的后一个数据的地址)
(3)第三个参数comp是排序的方法:可以是从升序也可是降序。如果第三个参数不写,则默认的排序方法是从小到大排序
2.cout: std::cout<<"任意类型函数"std::endl;
printf: printf(“其他+%转换+其他”,参数);
cout方式效率低:每次cout << endl;都会刷新一遍输出缓冲区。cout方式线程不安全:
std::cout << "Hello " << "World ";
等同于:
std::operator<<(std::operator<<(std::cout, "Hello "), "World ");
相当于调用了两次operator<<,不保证调用两次operator<<是线程安全的
cout先是把输出结果存到缓存区,然后一次性输出,其实COUT输出的时候也是调用了printf函数;pintf函数是每次输出结果;当输出数据量比较大时,printf 比 cout 有更快的速度
scanf和cin:
cin之所以慢,主要是因为要与scanf同步的关系,即允许scanf与cin混用。但是如果你的代码里没用到scanf,那么想关闭同步也可以。
只要使用这行代码,就可关闭同步:std::ios::sync_with_stdio(false);
cout配合format。
std::cout << std::format("{} + {} = {} \n", a, b, c);
使用format可以把上面的问题全都解决,C++20标准已经全面支持使用std::format。