![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C++ # STL
C/C++标准库中的API 解析
一名CV界的小学生
这个作者很懒,什么都没留下…
展开
-
linux: dirent.h 使用
头文件:dirent.h代码:void direntTest(){ std::string rootPath="/home/.../test/samples"; std::vector<std::string> imageNames; auto dir=opendir(rootPath.c_str()); if((dir)!= nullptr) { struct dirent *entry; entry=r原创 2022-01-13 13:49:18 · 1054 阅读 · 0 评论 -
yaml-cpp 使用
void testYamlLibs(){ const std::string yamlFilePath="/home/tc/.../test/config.yaml"; YAML::Node root=YAML::LoadFile(yamlFilePath); YAML::Node config=root["imgs"]; int height=config["height"].as<int>(); int width=config["width"]..原创 2022-01-13 11:09:35 · 715 阅读 · 0 评论 -
计算函数执行时间chrono
auto t_start=std::chrono::high_resolution_clock::now(); label= readImageNetLabel(fileDir); auto t_end=std::chrono::high_resolution_clock::now(); float total_cost=std::chrono::duration<float,std::milli>(t_end-t_start).count(); std...原创 2022-01-12 15:43:00 · 189 阅读 · 0 评论 -
C++ STL:map,string
#include <iostream>#include "map"#include "string"#include "fstream"std::map<int,std::string> readImageNetLabel(const std::string &fileName){ std::map<int,std::string> imagenetLabel; std::ifstream file(fileName); if.原创 2022-01-12 15:15:10 · 364 阅读 · 0 评论 -
C/C++ 线程安全队列
一些相关的理论暂未查到,简单做个记录#include <iostream>#include "mutex"#include "condition_variable"#include "queue"#include "thread"#include "chrono"template<typename T>class ThreadSafeQueue{private: mutable std::mutex m_mutex; std::queue<原创 2021-04-22 14:40:22 · 305 阅读 · 0 评论 -
格式化输出当前时间:put_time
#include <iostream>#include "sstream"#include "ctime"#include "iomanip"void currTime_(){ auto t=time(nullptr); auto tm=*localtime(&t); std::ostringstream oss; oss<<std::put_time(&tm,"%d.%m.%Y %H:%M:%S:"); std.原创 2021-04-21 19:32:18 · 996 阅读 · 0 评论 -
STL:vector的操作
读书笔记:vector头文件:#include<vector>vector支持随机访问,因此只要知道位置,便可以在常量时间内访问任何一个元素。使用reserve()保留适当容量,避免重新分配内存。std::vector<int> v;// create an empty vectorv.reserve(80); // reserve memory for 80 elements避免重新分配内存的另一个方法是,初始化期间就向构造函数传递额外实原创 2021-04-15 23:23:22 · 124 阅读 · 0 评论 -
C++ API: yield函数
/** yield* 实现:std::this_thread::yield 命名空间实现* 作用:当前线程放弃执行,让操作系统调度另一线程继续执行* 例如:比如说你的线程需要等待某个操作完成,如果你直接使用一个循环* 不断判断这个操作是否完成就会使的这个线程占满cpu时间,这会造成资源* 浪费。此时,你可以判断一次操作是否完成,如果没有完成就调用yield* 交出时间片,过一会再来判断是否完成,这样这个线程占用CPU时间会大大* 减少。* 例如:** while(!isDone()).原创 2021-04-06 15:38:06 · 549 阅读 · 0 评论 -
复制容器list中部分元素到另一个list中 C++
简单记录一下#include <iostream>#include <list>int main(int argc,char* argv[]){ int arr[]={12,34,23,54,56,32,56}; std::list<int> mylist(arr,arr+7); std::list<int> mylistCopy; std::list<int> ::iterator it; f原创 2020-10-15 16:29:54 · 2888 阅读 · 0 评论 -
二维数组 一维指针数组 最小值
代码功能:将二维向量转成一维数组,查找每一行的最小值并在每一行减去该值,形成新的一维数组,见图像代码结果:代码展示:#include <vector>#include <iostream>#include <chrono>#include <assert.h>int main(int,char**){ std::vector<std::vector<double> >testMatrix={{1原创 2021-03-09 16:11:24 · 150 阅读 · 0 评论 -
C++ getline 函数使用
函数接口:getline 函数接口使用#include <iostream>#include <string>#include <fstream>void cin_();void getline_();void getline_txt();int main(int,char**){// cin_();// getline_(); getline_txt();}void cin_(){ std::strin原创 2021-03-12 10:52:27 · 204 阅读 · 0 评论 -
C++ multimap容器使用
multimap 使用#include <map>#include <iostream>#include <string>int main(int,char**){ std::multimap<std::string, size_t> people {{"Ann", 25}, {"Bill", 46}}; people.insert原创 2021-03-11 17:24:05 · 196 阅读 · 0 评论