随笔分类 -  C++ STL

摘要:vector list底层结构 动态顺序表,一段连续的空间 带头节点的双向链表随机访问 支持随机访问,访问某个元素效率O(1) 不支持随机访问,访问某个元素效率O(N)插入和删除 任意位置插入和删除效率低,需要搬移元素,时间复杂度为O(N),插入是有可能会造成扩容,增容,开辟空间,拷贝元素,释放旧空 阅读全文
posted @ 2023-01-27 00:46 findumars 阅读(0) 评论(0) 推荐(0) 编辑
摘要:这是C++11新特性介绍的第五部分,涉及到智能指针的相关内容(shared_ptr, unique_ptr, weak_ptr)。 shared_ptr shared_ptr 基本用法 shared_ptr采用引用计数的方式管理所指向的对象。当有一个新的shared_ptr指向同一个对象时(复制sh 阅读全文
posted @ 2019-11-08 17:15 findumars 阅读(1517) 评论(0) 推荐(0) 编辑
摘要:我觉得 Qt6 最应该升级的是容器类stdmap 在遍历的时候,同时获取 key 与 value 非常方便:for(auto& var:map){ qDebug()<<var.first<<var.second;}但是 QMap 就做不到这么便利了。for(auto i=qmap.begin();i 阅读全文
posted @ 2019-09-12 17:58 findumars 阅读(2608) 评论(0) 推荐(0) 编辑
摘要:首先下载得到boost的最新版(目前最新版是1.63) 下载地址: http://www.boost.org 也可以从这里直接下载 http://download.csdn.net/detail/zengraoli/9815337 下载完成后解压出来 编译32位的boost库 打开vs的32位命令行 阅读全文
posted @ 2018-07-24 19:52 findumars 阅读(4655) 评论(0) 推荐(1) 编辑
摘要:平时我们在写代码时候,有思考过要主动去释放vector的内存吗? 1、对于数据量不大的vector,没有必要自己主动释放vector,一切都交给操作系统。 2、但是对于大量数据的vector,在vector里面的数据被删除后,主动去释放vector的内存就变得很有必要了! 读者可以新建一个控制台程序 阅读全文
posted @ 2018-04-07 07:07 findumars 阅读(11731) 评论(0) 推荐(1) 编辑
摘要:剔除list中相同的结构体数据,有三个思路:1、两层循环,逐个比较 2、使用set容器来剔除 3、使用unique方法去重 [cpp] view plain copy // deduplication.cpp : 定义控制台应用程序的入口点。 // #include <list> #include  阅读全文
posted @ 2018-04-07 06:51 findumars 阅读(816) 评论(0) 推荐(0) 编辑
摘要:[cpp] view plain copy [cpp] view plain copy 注:unique函数功能是去除相邻的重复元素,注意是相邻,所以必须先使用sort函数。还有一个容易忽视的特性是它并不真正把重复的元素删除。之所以说比不真正把重复的元素删除,因为unique实际上并没有删除任何元素 阅读全文
posted @ 2018-04-07 06:46 findumars 阅读(1359) 评论(0) 推荐(0) 编辑
摘要:1、下载: 网址:http://sourceforge.net/projects/boost/files/boost/1.59.0/ 选择:boost_1_59_0.7z或者boost_1_59_0.zip (Windows 8.1企业版操作系统); boost_1_59_0.tar.bz2 ( L 阅读全文
posted @ 2018-02-14 02:51 findumars 阅读(1709) 评论(0) 推荐(1) 编辑
摘要:如何使用 [cpp] view plain copy #include "sperformance.h" #include <iostream> #include <boost/thread.hpp> int main(int argc, char** argv) { kagula::Perform 阅读全文
posted @ 2017-10-07 21:49 findumars 阅读(2142) 评论(0) 推荐(0) 编辑
摘要:Boost::thread库的使用 2009/11/26 Kagula 最后更新日期 2016/12/02 阅读对象 本文假设读者有几下Skills [1]在C++中至少使用过一种多线程开发库,有Mutex和Lock的概念。 [2]熟悉C++开发,在开发工具中,能够编译、设置boost::threa 阅读全文
posted @ 2017-10-07 21:32 findumars 阅读(1462) 评论(0) 推荐(0) 编辑
摘要:[cpp] view plain copy // testBind.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <boost/bind.hpp> #include 阅读全文
posted @ 2017-10-07 21:30 findumars 阅读(490) 评论(0) 推荐(0) 编辑
摘要:[cpp] view plain copy [cpp] view plain copy http://blog.csdn.net/lee353086/article/details/38421095 阅读全文
posted @ 2017-10-07 21:13 findumars 阅读(1783) 评论(0) 推荐(0) 编辑
摘要:1. 环境: Linux系统:Ubuntu 14.04 编译工具:arm-fsl-linux-gnueabi-gcc 2.下载boost源码: 地址:https://sourceforge.net/projects/boost/files/boost/ 3. 编译: 1)解压,cd 到目录 --sh 阅读全文
posted @ 2017-09-01 00:32 findumars 阅读(12637) 评论(0) 推荐(1) 编辑
摘要:Ubuntu 15.04已经可以直接通过apt-get insall 安装clang 3.6, 并且预装的gcc版本是4.9.2。这些安装过程在这里介绍。 首先下载boost源码 [plain] view plain copy print? wget -O boost.1.59.tar.bz2 ht 阅读全文
posted @ 2017-08-26 07:43 findumars 阅读(420) 评论(0) 推荐(0) 编辑
摘要:从开始接触Boost已经有好几年了,而对它的掌握却难言熟悉,有对它部分的源代码的剖析也是蜻蜓点水。有时间一点点梳理一下吧。 1. 概述 【Boost】C++ Boost库简介【Boost】C++ Boost 学习资源列表【Boost】Boost使用几条简单笔记【Boost】Poco vs Boost 阅读全文
posted @ 2017-07-29 21:11 findumars 阅读(822) 评论(0) 推荐(0) 编辑
摘要:摘于boost官网的几个例子, 做了点小修改, 笔记之. 同步客户端 [cpp] view plain copy print? void test_asio_synclient() { typedef boost::asio::io_service IoService; // 该命名空间下有几个常用 阅读全文
posted @ 2017-07-29 21:08 findumars 阅读(6817) 评论(0) 推荐(0) 编辑
摘要:头文件就是库使用者最常问的问题就是“我该怎么安装Boost”,这个也是我一开始最关心的问题,Boost这点做的很好,将大部分实现都封装在头文件里,所以对于一些基本的Boost库,其实是不需要安装的,只需要将头文件include到自己的程序里,当然前提是你把Boost的所有用到的头文件都拷贝了一份。B 阅读全文
posted @ 2017-07-29 20:50 findumars 阅读(1724) 评论(0) 推荐(0) 编辑
摘要:文档书籍下载 Boost Documentation Boost代码下载 优秀网站导航 Boost官方网站 Boost中文站 Boost Consulting 专题资源报告 Linux伊甸园- STL/boost专区 CSDN-Boost系列专题 个人博客推荐 C++有价值blog索引 《Learn 阅读全文
posted @ 2017-07-29 20:48 findumars 阅读(886) 评论(0) 推荐(0) 编辑
摘要:POCO的优点: 1) 比boost更好的线程库,特别是一个活动的方法的实现,并且还可设置线程的优先级。 2) 比 boost:asio更全面的网络库。但是boost:asio也是一个非常好的网络库。 3) 包含了一些Boost所不包含的功能,像XML,数据库接口等。 4) 跟Boost相比,集成度 阅读全文
posted @ 2017-07-29 20:46 findumars 阅读(3206) 评论(0) 推荐(1) 编辑
摘要:boost是一个准标准库,相当于STL的延续和扩充,它的设计理念和STL比较接近,都是利用泛型让复用达到最大化。不过对比STL,boost更加实用。STL集中在算法部分,而boost包含了不少工具类,可以完成比较具体的工作。 boost主要包含一下几个大类:字符串及文本处理、容器、迭代子(Itera 阅读全文
posted @ 2017-07-29 20:42 findumars 阅读(47493) 评论(1) 推荐(3) 编辑

点击右上角即可分享
微信分享提示