飞道的博客

C++系列8:常用库

192人阅读  评论(0)

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. openblas:矩阵计算

mac自带了openblas,在/usr/local/Cellar下。将其拷贝到项目文件夹下,在cmakelists里添加即可。

5. opencv:图像处理

这里直接用了openvino里面带的opencv。将其拷贝到3rdparty文件夹下,然后在CMakeLists中添加如下四行:

下面是使用例子:

关于api的文档参照这里:
https://blog.csdn.net/weixin_43800762/article/details/87811697
首先是关键字:

接下来是:



转载:https://blog.csdn.net/kittyzc/article/details/116405478
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场