C++基础知识
以简单用例记录C++知识,包括STL的使用和Boost的使用
_南_无_生_
这个作者很懒,什么都没留下…
展开
-
【STL】std::transform
以上示例中,std::transform() 函数将 nums 容器中的每个元素应用 square() 函数进行平方操作,并将结果存储在 squares 容器中。是 C++ 标准库中的一个算法函数,用于对一个序列的元素进行转换操作,将输入序列的每个元素应用指定的转换函数后,生成一个新序列。:一元操作函数(函数对象或函数指针),用于指定要应用于每个输入元素的转换操作。:输入序列的起始和结束迭代器,指定要转换的元素范围。:输出序列的起始迭代器,指定转换后的元素存放位置。:指向输出序列的末尾迭代器。原创 2024-04-07 22:08:44 · 259 阅读 · 0 评论 -
【C++基础】std::for_each
中的一个算法,它对指定范围内的每个元素执行某个操作。这个函数接受两个迭代器参数,表示要操作的元素范围,以及一个可调用对象(如函数指针、lambda表达式、函数对象、在C++中,可调用对象(Callable Object)是指那些可以像函数一样被调用的实体。)作为第三个参数,该调用对象定义了应用于范围内每个元素的操作。原创 2024-03-23 21:48:00 · 487 阅读 · 1 评论 -
【C++基础】std::bind
在C++中,std::bind是一个功能强大的函数适配器,它接受一个可调用对象(如函数、函数对象或Lambda表达式)和一个或多个参数,然后生成一个新的可调用对象,该对象在调用时会调用原始的可调用对象并传递指定的参数。原创 2024-03-21 22:28:19 · 177 阅读 · 1 评论 -
【C++基础】std::copy
等)及其迭代器,以及其他支持随机访问迭代器的数据结构。它也可以用于拷贝基本类型数组或指针范围内的元素。但是,如果需要处理复杂的自定义数据类型,最好使用拷贝构造函数或赋值操作符来进行元素的拷贝。需要注意的是,目标容器需要提前分配空间,以便能够容纳源容器中的元素。如果目标容器未正确分配空间,会导致未定义的行为。即将源容器中的元素复制到目标容器中。算法函数可用于容器之间的元素拷贝操作。容器,其中包含了一些整数元素。拷贝操作完成后,我们遍历。在上述示例中,我们有一个。范围内的元素拷贝到从。并打印拷贝得到的元素。原创 2024-03-11 22:06:52 · 743 阅读 · 0 评论 -
【C++基础】vector的resize和reserve的区别
是两个用于管理容器大小和内存分配的成员函数。时,重点考虑你的需求。如果确切知道需要的元素数量,可以使用。如果需要预留空间以提高性能,可以使用。原创 2024-03-11 22:04:27 · 716 阅读 · 0 评论 -
Boost库常用功能
1. 容器:Boost库提供了对STL容器的扩展,包括增加新的容器类型(如multi_array、circular_buffer等),同时提供了一些方便的算法和函数来操作和处理容器。这只是Boost库提供的一些常用功能的例子,实际上Boost库包含了大量的组件和模块,涵盖了许多不同的领域和功能。4. 时间和日期:Boost库提供了易于使用的时间和日期处理功能,可以进行时间的解析和格式化,计算时间差等操作。5. 文件系统:Boost库提供了对文件系统的操作接口,包括文件和目录的创建、删除、遍历等操作。原创 2024-02-20 09:17:53 · 3987 阅读 · 0 评论 -
C++11的std::move
C++11的标准库 提供了一个非常有用的函数 std::move(),std::move() 函数将一个左值强制转化为右值引用,以用于移动语义。移动语义,允许直接转移对象的资产和属性的所有权,而在参数为右值时无需复制它们。换一种说法就是,std::move() 将对象的状态或者所有权从一个对象转移到另一个对象,只是转移,没有内存的搬迁或者内存拷 贝。因此,通过std::move(),可以避免不必要的拷贝操作。原创 2024-01-11 22:12:54 · 460 阅读 · 0 评论 -
C++通过类型名称创建类对象
【代码】通过类型名称创建类对象。原创 2024-01-01 19:37:26 · 447 阅读 · 0 评论 -
C++消息队列,多线程
本文提供了一种C++消息队列的实现方式(包括一个线程类和一个消息队列类),通过一个简单示例说明如何生产消息和消费消息。原创 2023-09-25 22:21:49 · 1358 阅读 · 3 评论 -
Thrift 在Windows环境下的编译与简单C++应用
Thrift是Facebook提供的一个跨语言的服务部署框架,可以实现客户端和服务器远程过程调用。相较于Google的grpc框架,Thrift对三方库依赖更少,编译更简单,并且运行效率也更高。Thrift只依赖boost、openssl和libevent三个库,本次测试编译的都是静态库。下面详细介绍thrift 0.15.0的编译过程。原创 2022-09-06 21:48:22 · 3229 阅读 · 1 评论