
C++
文章平均质量分 81
郭老二
没有人不爱惜他的生命,但很少有人珍视他的时间!
展开
-
【C++】零散知识
1、抛异常时,还会执行析构操作吗?发生异常(抛异常)时,在该作用域中的局部非PAD变量(即,有构造函数和析构函数的变量)会执行析构操作。2、new出的内存一定在堆上吗?new是C++中操作符,如果通过重载操作符,改用其他内存来实现内存分配,例如全局变量做的对象池,new出的内存就不在堆上了;new/delete是C++关键字,需要编译器的支持,如果编译器将new的内存分配到其他位置,也就不在堆上了。3、delete NULL会报错吗?C++标准规定,delete (void*)0;是安全的,而原创 2021-03-04 23:30:49 · 302 阅读 · 1 评论 -
【C++】构造函数冒号后面的初始化列表使用小括号( )和大括号{ }的区别(回子的四种写法)
1)内置类型的初始值,以下三种方法没有区别2)自定义类型的赋值3)类内成员的默认初始值类内成员的默认初始值:可以使用大括号、等号;不可以使用小括号4)声明对象还是创建对象如果想调用午餐构造函数时,不可以使用下面的方法,因为这会被编译器理解为:声明了个函数,而不是创建对象Widget w2;或者使用大括号。原创 2024-10-23 19:43:52 · 475 阅读 · 0 评论 -
【C++】模版详解
C++模版分两类:函数模版和类模版。模板的声明或定义只能在全局,命名空间或类范围内进行。即不能在局部范围,函数内进行,比如不能在main函数中声明或定义一个模板。。原创 2024-08-08 22:46:31 · 362 阅读 · 0 评论 -
【C++】dynamic_cast:基类指针动态转换成子类类型(虚函数表)
dynamic_cast:基类指针动态转换成子类类型;虚函数表详解原创 2024-08-06 22:16:25 · 801 阅读 · 0 评论 -
【C++】POCO学习总结(二十):交叉编译poco-1.12.5p2
ARM移植,交叉编译POCO-1.12.5p2原创 2024-07-04 19:40:56 · 1528 阅读 · 0 评论 -
【C++】HP-Socket(三):UdpClient、UdpServer、UdpCast、UdpNode的区别
UDP是无连接的,在UDP传输层中并没有客户端和服务端的概念。但是可以在应用层定义客户端和服务端,可以灵活的互换客户端和服务端,或者同时既是客户端也是服务端。HP-Socket中在应用层定义了四种UDP组件:UdpClient、UdpServer、UdpCast、UdpNode。原创 2024-05-06 21:00:00 · 1296 阅读 · 0 评论 -
【C++】报错:multi-line comment
于是预处理器在处理的时候会先按第二条规则,看每行的末尾的那个字符是不是”\”,是的话,就将下一行接到本行。然后把所有以//开头的注释和/* */的块注释去掉。原创 2024-03-21 19:45:00 · 1815 阅读 · 0 评论 -
【C++】C和C++在结构体初始化时的差异
C和C++对结构体初始化时的差异,C++更严谨,但是不兼容C原创 2024-03-21 19:30:00 · 1075 阅读 · 0 评论 -
【C++】HP-Socket(二):框架介绍、功能说明
HP-Socket 框架介绍:TCP(客户端、服务器、代理)、UDP(普通UDP、可靠UDP)、SSL、HTTP、Cookie、线程池、数据压缩与解压原创 2024-01-05 23:30:42 · 2623 阅读 · 0 评论 -
【C++】HP-Socket(一): 下载、Linux上编译、Windows远程编译Linux版本
国产、高性能、跨平台网络通信框架。作者于2024-01-01更新了Release版本v5.9.4,辛苦了,向作者致敬!原创 2024-01-03 22:37:52 · 1290 阅读 · 0 评论 -
【C++】基于C++11的线程池:threadpool
C++线程池原创 2024-01-01 20:47:03 · 1893 阅读 · 0 评论 -
【STL】std::map使用小结
自定义的类,需要重载运算符原创 2023-12-30 21:22:56 · 1562 阅读 · 0 评论 -
【XML】TinyXML 详解(二):接口详解
XML开源库TinyXML接口使用,使用几个示例来认识常用的接口, 和注意事项原创 2023-12-23 22:03:39 · 2001 阅读 · 0 评论 -
【XML】TinyXML 详解(一):介绍
XML开源解析器:TinyXML原创 2023-12-21 23:33:35 · 3028 阅读 · 0 评论 -
【C++】POCO学习总结(十九):哈希、URL、UUID、配置文件、日志配置、动态库加载
POCO:哈希、URL、UUID、配置文件、日志配置、动态库加载原创 2023-12-18 23:04:10 · 1770 阅读 · 0 评论 -
【C++】POCO学习总结(十八):XML
POCO中对XML的解析、生成的接口:SAX、DOM原创 2023-12-17 23:24:28 · 1736 阅读 · 0 评论 -
【C++】POCO学习总结(十七):日志系统(级别、通道、格式化、记录流)
POCO日志系统,很强大原创 2023-12-15 23:47:40 · 2196 阅读 · 1 评论 -
【C++】POCO学习总结(十六):随机数、密码、时间戳、日期和时间(格式化与解析)、时区、本地时间
POCO学习总结:随机数、密码、时间戳、日期和时间(格式化与解析)、时区、本地时间原创 2023-12-14 22:42:38 · 2013 阅读 · 0 评论 -
【C++】POCO学习总结(十五):字符串操作
POCO:字符串操作(去除空格、替换、拼接),数字转字符串,从字符串中提取数字,正则表达式等原创 2023-12-13 23:30:50 · 1879 阅读 · 0 评论 -
【C++】POCO学习总结(十四):引用计数、共享指针、缓冲区管理
POCO中的引用计数、智能指针、缓冲区管理、内存池、单例原创 2023-12-13 22:19:14 · 1746 阅读 · 0 评论 -
【C++】POCO学习总结(十三):类型和字节序、错误处理和调试、获取系统信息
POCO:跨平台整数类型、错误处理(异常)、调试、获取编译时和运行时的系统信息原创 2023-12-12 22:21:59 · 1727 阅读 · 0 评论 -
【C++】POCO学习总结(十二):流(文本编解码、数据压缩、文件读写流等)
POCO提供了流缓冲类模板,简化了自定义流类的实现。流是通过首先创建流缓冲类来实现的(streambuf),然后添加IOS, istream和ostream类。Poco::BasicUnbufferedStreamBuf:是实现自定义流的最简单方法。Poco::BasicBufferedStreamBuf:必须为字符类型实例化的类模板。子类需要重新实现以下函数int readFromDevice():读取并返回单个(无符号)字节。原创 2023-12-11 22:30:49 · 1859 阅读 · 0 评论 -
【C++】POCO学习总结(十一):文件系统(路径、文件属性、目录浏览、临时文件等)
Poco::TemporaryFile派生自Poco::File。bool match(const std::string& subject):如果subject中的路径与Glob的模式匹配,则返回true,否则返回false。Poco::DirectoryIterator中维护一个Poco::File和一个绝对路径Poco::Path。Poco::DirectoryIterator提供一个迭代器风格的接口,用于读取目录的内容。Poco::Path并不关心它所包含的路径是否在文件系统中实际存在。原创 2023-12-11 21:27:23 · 2061 阅读 · 0 评论 -
【C++】POCO学习总结(十):Poco::Util::Application(应用程序框架)
在Linux平台上,继承Poco::Util::ServerApplication后,可以通过命令行参数“–daemon”来实现,作为守护进程运行。原创 2023-12-10 22:53:28 · 2581 阅读 · 0 评论 -
【C++】POCO学习总结(九):网络
Poco::Net::ServerSocket是较底层次的封装,在创建TCP服务器时,推荐使用Poco::Net::TCPServer或Reactor框架。Poco::Net::SocketAddress 是将 Poco::Net::IPAddress与端口号结合起来,从而标识IP网络连接的端点。Poco::Net::DatagramSocket的子类Poco::Net::MulticastSocket允许发送组播数据报。Poco::Net::StreamSocket用于创建到服务器的TCP连接。原创 2023-12-05 21:36:21 · 2090 阅读 · 1 评论 -
【C++】POCO学习总结(八):通知Notifications和事件Events
Poco::NotificationCenter或Poco::NotificationQueue位于源source和目标target之间,并将它们解耦。2)事件Events:如果观察者确实关心事件的源source,或者希望仅从特定源source接收事件,则使用事件Events。1)通知Notifications:如果观察者不知道或不关心事件的来源,则使用通知Notifications。事件还支持异步通知和一些Notifications不支持的特性。4)Notifications通知的调度流程。原创 2023-11-29 21:59:00 · 1799 阅读 · 2 评论 -
【C++】POCO学习总结(七):进程、管道、进程间同步、共享内存
POCO中进程、管道、进程间同步、共享内存原创 2023-11-29 21:16:25 · 2110 阅读 · 0 评论 -
【C++】POCO学习总结(六):线程、线程池、同步
Poco::RunnableAdapter继承自Poco::Runnable,在Poco::RunnableAdapter构造函数中指定了类和方法;Poco::ThreadLocal是线程局部变量,也叫线程局部存储,意思是模版ThreadLocal中填充的变量属于当前线程,该变量对其他线程而言是隔离的,也就是说该变量是当前线程独有的变量。原创 2023-11-27 23:19:33 · 4148 阅读 · 0 评论 -
【C++】POCO学习总结(五):功能介绍
POCO第一个版本于 2005 年 2 月发布POCO完全免费:POCO C++ 库根据 Boost 软件许可证获得许可。非常自由的许可证,鼓励商业和非商业使用。原创 2023-11-23 22:02:41 · 2234 阅读 · 0 评论 -
【C++】郭老二博文之:C++目录
郭老二C++相关博文的目录整理原创 2023-11-22 20:39:44 · 1767 阅读 · 1 评论 -
【POCO】POCO学习总结(三)——交叉编译
最小功能编译编译选项:–minimal :只构建XML, JSON, 工具 and 网络1 修改配置文件$ vi poco-1.7.8p3-all/build/config/ARM-Linux 13 LINKMODE ?= SHARED 14 TOOL ?= arm-linux 15 POCO_TARGET_OSNAME = Lin原创 2017-09-28 14:38:41 · 3123 阅读 · 1 评论 -
【POCO】POCO学习总结(四)—— 在window下使用MSYS、MinGW编译POCO
在window下使用MinGW编译poco使用MSYS下载MSYS官网介绍:http://www.mingw.org/wiki/Getting_Started 官网下载:https://jaist.dl.sourceforge.net/project/mingw/Installer/mingw-get-setup.exe安装运行mingw-get-setup.exe,原创 2017-09-28 14:53:38 · 3031 阅读 · 1 评论 -
【POCO】POCO学习总结(二)——配置选择
使用方法: configure {options}options总结–help:打印帮助 –config=< config_name> 使用给定配置,在poco-1.7.8p3-all/build/config目录下,可以在对应的配置文件中修改编译工具的路径和名字,编译时的选项等。 AIX Darwin-clang MinGW-CrossE原创 2017-09-28 14:20:46 · 1832 阅读 · 1 评论 -
【POCO】POCO学习总结(一)--下载与编译
源码下载POCO 官网https://pocoproject.org/源码下载地址https://pocoproject.org/releases/poco-1.7.8/源码共有4个版本:Windows基本版本和完整版本、类linux基本 版本和完整版本。 基本版本(Basic Edition)不需要外部依赖 完整版本(Complete Edition):需要外部依赖OpenSSL、MySQL原创 2017-09-28 14:03:24 · 5223 阅读 · 1 评论 -
【Dlib】在GPU环境中运行dlib中的例子dnn_mmod_ex报错...dlib::cuda_error...Error while calling cudaMalloc...
1、问题描述在GPU环境下运行dlib中的例子dnn_mmod_ex时,报错:terminate called after throwing an instance of 'dlib::cuda_error' what(): Error while calling cudaMalloc(&data, new_size*sizeof(float)) in file /home/la...原创 2019-06-11 16:46:19 · 1740 阅读 · 0 评论 -
【AI】dlib中图像标注工具 imglab 详细说明
一、基本用法imglab是一个在图像上标注矩形的工具。基本方法1> 获取图片列表:./imglab -c mydataset.xml /tmp/images,/tmp/images为保存图像的文件夹2> 标注每个图片:./imglab mydataset.xml,使用shift+鼠标左键拖动来选择目标3> 修改标注:如果要忽略已经标注的框,双击框,然后按下i,将会忽略该框...原创 2019-06-06 18:53:04 · 6224 阅读 · 1 评论 -
【Dlib】dlib和opencv的互转
注意事项:1)将dlib::matrix转成BGR格式后,再转换成cv::Mat,因为cv::Mat中是按照BGR顺序存储2)注意最后添加的cv::Mat::clone()函数,因为dlib::toMat(tmp)返回的mat数据部分在tmp中,tmp是临时变量,因此在函数返回前,执行clone()操作。直接上源码://将dlib::matrix转成BGR格式后,再转换成cv::Mat,因...原创 2019-05-24 21:20:44 · 1528 阅读 · 0 评论 -
【Dlib】dlib实现深度网络学习之 input层
1、 dlib::input模板类,深度神经网络的简单输入层,它将某种图像作为输入并将其加载到网络中。这是一个基本的输入层,它只是简单地将图像复制到一个张量中。注意:dlib::input只支持输入dlib::matrix和dlib::array2d类型,并且它们的像素类型必须是合法的,eg:必须存在 pixel_traits<T::type>以dlib::matrix为例:...原创 2019-05-27 20:13:23 · 831 阅读 · 0 评论 -
【Dlib】使用dlib_face_recognition_resnet_model_v1.dat无法实现微调fune-tuning
1、问题描述dlib官方使用resnet训练人脸识别,训练了300万的数据,网络参数保存在dlib_face_recognition_resnet_model_v1.dat中。测试中识别lfw数据时,准确率能达到99.13%,但是在识别自己的数据时,准确率有点低,想在此基础上使用自己的数据经行微调。经过一番瞎搞,最终失败了(本人是个AI小白)。2、原因分析原因是训练网络和测试网络不一样,...原创 2019-05-14 10:34:36 · 7609 阅读 · 5 评论 -
【C++】Effective STL:50条有效使用STL的经验
第一条:慎重选择容器类型1、C++容器:先混个眼熟序列容器:array、vector、string、deque、list、forward_list有序关联容器:set、map、multiset、multimap无序关联容器:unordered_set、unordered_map、unordered_multiset、unordered_multimap容器适配器:stack、queue、priority_queue2、C++容器:简介序列容器序列容器实现了可以顺序访问的数据结构。array原创 2021-04-25 23:13:18 · 765 阅读 · 0 评论