C++系列8:常用库
Posted IE06
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++系列8:常用库相关的知识,希望对你有一定的参考价值。
1. cmath: 数学计算
#include <iostream>
#include <cmath>
using namespace std;
int main ()
{
// 数字定义
short s = 10;
int i = -1000;
long l = 100000;
float f = 230.47;
double d = 200.374;
// 数学运算
cout << "sin(d) :" << sin(d) << endl;
cout << "abs(i) :" << abs(i) << endl;
cout << "floor(d) :" << floor(d) << endl;
cout << "sqrt(f) :" << sqrt(f) << endl;
cout << "pow( d, 2) :" << pow(d, 2) << endl;
return 0;
}
下面是一个关于生成随机数的简单实例。实例中使用了cime的time()函数来获取系统时间的秒数,通过调用cstdlib的rand() 函数来生成随机数:
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
srand( (unsigned)time( NULL ) );
for(int i = 0; i < 10; i++ )
{
// 生成实际的随机数
int j= rand();
cout <<"随机数: " << j << endl;
}
如果使用相同的种子后面的rand()函数会出现一样的随机数。如:srand(1)
可以在宏定义中顶一个random(int number)函数:#define random(x)(rand()%x)
2. iomanip:格式化输出
#include<iostream>
#include<iomanip>
using namespace std;
int main(){
double x=3.1415926;
cout<<fixed<<setprecision(3)<<x<<endl;
return 0;
}
3. nlohmann json:json解析
nlohmann/json 是一个用于解析json的开源c++库,口碑一流,号称有业界最好的性能,并且使用非常方便直观,是很多c++程序员的首选。
下载 https://github.com/nlohmann/json/tree/develop/single_include/nlohmann/json.hpp, 并加入本地工程。使用方式如下:
4. opencv:图像处理
这里直接用了openvino里面带的opencv。将其拷贝到3rdparty文件夹下,然后在CMakeLists中添加如下四行:
下面是使用例子:
5. openblas:矩阵计算
mac自带了openblas,在/usr/local/Cellar下。将其拷贝到项目文件夹下,在cmakelists里添加即可。
关于api的文档参照这里:
https://blog.csdn.net/weixin_43800762/article/details/87811697
首先是关键字:
接下来是:
以上是关于C++系列8:常用库的主要内容,如果未能解决你的问题,请参考以下文章