unique_ptr unique std ptr

shared_ptr 循环引用以及解决办法

问题代码 #include <memory> #include <stdio.h> using namespace std; class A; class B { public: B() { printf("B()\n"); } ~B() { printf("~B()\n"); } void pri ......
shared_ptr 办法 shared ptr

两个Mysql唯一索引的交换: 避免重复索引 Duplicate entry '3' for key 'priority_UNIQUE'

需求 我做了一个排行榜,但是主键是pid,不是排名,排名作为唯一索引,两个人排名交换,只需要交换 排名唯一索引值即可. 但是直接单独更新 提示错误: Duplicate entry '3' for key 'priority_UNIQUE' 方法 本来希望可以在一条SQL语句中交换两个唯一索引值,但 ......
索引 39 priority_UNIQUE Duplicate priority

package dbutil is not in std

一、概述 使用LiteIDE运行go代码出现的错误。 package dbutil is not in std 原因:新建包的目录结构不对。 解决办法: 在项目目录中新建一个文件夹,然后把你的dbutil工具类移动过去或者新建一个即可 ......
package dbutil not std is

std::advance学习

转自:https://cplusplus.com/reference/iterator/advance/ 1.介绍 模板原型,第一个参数是迭代器,第二个参数是距离,移动迭代器指定距离。 template <class InputIterator, class Distance> void advan ......
advance std

std::sort()

这个算法是一个接口模板,在内部实现可能会根据不现情况使用不同的算法。在使用形式上存在两种方式,一种是使用小于运算符进行比较,一种使用传入的函数对象(仿函数)进行比较。 std::sort 的声明语法: template <class RandomAccessIterator> void sort ( ......
sort std

C++17里面的读写锁(shared_lock读锁,unique_lock写锁)

C++标准库本身没有直接提供读写锁,但C++11引入了一些工具,例如std::shared_mutex(C++14引入的,C++17之前的标准库中可能不支持)以及相关的读锁定(std::shared_lock)和写锁定(std::unique_lock)机制,用于实现读写锁的功能。 下面是一个简单的 ......
lock shared_lock unique_lock shared unique

std::max、std::min error C2589: “(”:“::”右边的非法标记,error C2059: 语法错误:“::” (转)

个人采用方案三解决问题。 在VC++种同时包含头文件#include <windows.h>和#include <algorithm>后就会出现无法正常使用std标准库中的min和max模板函数,经过查阅发现这是因为在Windows.h种也有min和max的定义,这样就导致了algorithm中的m ......
error 语法 右边 标记 std

std::remove_if用法学习

转自:https://blog.csdn.net/KFLING/article/details/80187847, 1.介绍 #include <algorithm>remove_if(begin,end,op);//(迭代器-开始位置,迭代器-终止位置,回调函数) 如果回调函数返回为真,则将当前所 ......
remove_if remove std if

UNIQUE VISION Programming Contest 2023 Christmas (AtCoder Beginner Contest 334)

UNIQUE VISION Programming Contest 2023 Christmas (AtCoder Beginner Contest 334) A - Christmas Present 代码: #include <bits/stdc++.h> using namespace std ......

[how does it work series] std::bind

本文不是一篇对std::bind的源码分析,而是试图通过逐步推导的方式,不断迭代优化,最终实现一版能阐述清核心原理的demo。非常像真实的开发过程。 事实上,关于std::bind的源码分析已有优质的讲解,建议想深入了解的读者参阅。 什么是std::bind? std::bind 是 C++ 标准库 ......
series does bind work how

借shared_ptr实现写时复制(COW)

原理 1、使用智能指针管理共享资源 2、write端,若引用计数为1,则write端独占资源,若引用计数不为1,则对共享资源备份进行写操作,以确保线程安全 3、read端,读之前引用计数加1,write端此时若并发访问共享资源,则会发现引用计数不为1,write端不会直接写共享资源,确保线程安全 代 ......
shared_ptr shared ptr COW

C++ unique_ptr简单使用

#######################智能指针(智能指针是存储指向动态分配(堆)对象指针的类,用于生存期控制,能够确保在离开指针所在作用域时,自动正确的销毁动态分配的对象,防止内存泄漏)头文件#include <memory>unique_ptr特性 (属性为对象, 而不是指针, 管理指针) ......
unique_ptr unique ptr

C++标准库std::string的find_first_not_of 方法介绍:

C++标准库 std::string 的 find_first_not_of 方法介绍: 例如: stra.find_first_not_of(s_fmt_a) 在字符串 stra 中找到第一个 不在 s_fmt_a 字符串中出现过的字符。 stra = "abc", abc 字符 都在 s_fmt ......
find_first_not_of 标准 方法 string first

CentOS7 gcc:unrecognized command line option ‘-std=c++14’

一、原因 这是一个gcc版本导致的问题。Centos7的默认gcc版本为4.8.5,可通过gcc --version命令进行查询。升级gcc至7.3版本可解决该问题 二、解决 yum -y install centos-release-scl yum -y install devtoolset-7- ......
unrecognized CentOS7 command CentOS option

C++(std::pair)

在C++中,std::pair是一个标准库模板,用于将两个不同类型的值组合成一个单元,即一对(pair)。std::pair定义在头文件 <utility> 中。这个模板是为了提供一种简单的方式来存储和传递两个相关但不同类型的值。 std::pair模板的定义如下: namespace std { ......
pair std

C++移动构造与std::move()

背景及问题 如下程序所示: #include<iostream> class MyString { public: MyString() = default; MyString(const char* data) { printf("%s", "MyString Constructed!!\n"); ......
move std

QString 与 std::string 相互转换

QString 与 std::string 之间相互转换时如果存在中文的情况下会出现乱码的情况,此时可以通过如下的方式进行转换,来避免出现乱码 1. QString 转 std::string QString qstr = "Path 测试 中文路径find"; QByteArray byteArr ......
QString string std

C++( std::string::npos)

std::string::npos 是 std::string 类中的一个静态常量,通常用于表示字符串操作中的特殊值,表示在字符串中未找到匹配的位置。npos 是 size_t 类型的常量,其值在不同平台上可能有所不同,但通常是一个非常大的正整数。 在 std::string 的成员函数中,npos ......
string npos std

std::make_pair & std::make_tuple 的区别和联系

std::make_pair 和 std::make_tuple 都是用于创建对应类型的对象的 C++ 标准库函数模板。 它们的区别主要在于它们所处理的数据类型和返回类型。 std::make_pair: std::make_pair 用于创建一个 std::pair 对象,std::pair 是一 ......
make make_tuple std make_pair tuple

C++(std::shared_ptr 的成员函数 reset)

std::shared_ptr 是 C++ 标准库提供的智能指针类型之一,用于管理动态分配的资源。reset 是 std::shared_ptr 类的成员函数之一,用于重新分配或重置 std::shared_ptr 所拥有的指针。 以下是 reset 成员函数的基本解释: 函数签名: templat ......
shared_ptr 函数 成员 shared reset

C++ 用 std::get<> 访问元组

C++ 用 std::get<> 访问元组 #include <iostream> #include <tuple> int main() { // Creating a tuple std::tuple<int, double, std::string> myTuple(42, 3.14, "He ......
std get lt gt

C++(using namespace std;)

using namespace std; 是 C++ 中的一条指令,用于指示编译器使用标准命名空间 std 中的所有标识符。这意味着在代码中可以直接使用标准库中的各种类、函数和对象,而无需在每个标识符前面添加 std:: 前缀。 以下是关于这条指令的一些解释: using 关键字: using 是一 ......
namespace using std

C++(std::vector)

这段代码定义了一个 std::vector 对象,该对象的元素类型为 float。std::vector 是 C++ 标准库中的动态数组容器,可以存储多个元素,并且大小可以动态调整。 std::vector<float> 具体解释如下: std::vector: 这是 C++ 标准库中的一个模板类, ......
vector std

C++(std::unique_ptr)

std::unique_ptr 是 C++ 标准库中的一种智能指针,用于管理动态分配的内存。它是一种独占拥有权(exclusive ownership)的智能指针,保证同一时刻只有一个 std::unique_ptr 指向特定的资源。当 std::unique_ptr 被销毁时,它所拥有的资源也会被 ......
unique_ptr unique std ptr

std::move

在使用std::move时,有几个重要的注意事项: std::move并不会真正地移动对象,真正的移动操作是在移动构造函数、移动赋值函数等完成的,std::move只是将参数转换为右值引用1。 std::move将一个左值强制转化为右值引用,以用于移动语义。移动语义,允许直接转移对象的资产和属性的所 ......
move std

C++(std::shared_ptr)

std::shared_ptr 是 C++ 标准库中的一个智能指针类,用于管理动态分配的内存。它提供了一种共享拥有权(shared ownership)的机制,通过引用计数来跟踪指向同一块内存的所有 std::shared_ptr 实例。当最后一个 std::shared_ptr 被销毁时,它会自动 ......
shared_ptr shared std ptr

使用 std::string_view 提升字符串处理性能

C++标准库提供了一个非常优秀的字符串处理类std::string,我们可以通过该类完成各种字符串操作。但是std::string有一个缺点,它的很多操作都是针对字符串实体,存在不必要的内存拷贝的代码,导致字符串的处理性能不尽如人意。 针对这种情况C++17标准引入了std::string_view ......
字符串 string_view 字符 性能 string

灵魂拷问std::enable_shared_from_this,揭秘实现原理

灵魂拷问std::enable_shared_from_this,揭秘实现原理 引言 在C++编程中,使用智能指针是一种安全管理对象生命周期的方式。std::shared_ptr是一种允许多个指针共享对象所有权的智能指针。然而,当一个对象需要获取对自身的shared_ptr时,传统的方法可能导致未定 ......

unique_ptr 和 shared_ptr

`unique_ptr` 和 `shared_ptr` 是 C++ 标准库中的智能指针,用于管理动态分配的对象的生命周期,以避免内存泄漏和手动资源管理的问题。 1. **`unique_ptr`:** - `std::unique_ptr` 是一个独占所有权的智能指针,确保在任何时候只有一个 `un ......
unique_ptr shared_ptr ptr unique shared

std::io::Error, thiserror和anyhow

std::io::Error, thiserror和anyhow 读到一篇非常好的文章baoyachi大佬的<细说Rust错误处理>从Rust中怎么处理错误, 讲到怎么定义自己的错误类型, 再到如何简化错误处理流程, 再到如何统一错误处理的形式. 但是这些都是基于标准库提供功能实现的, 需要手动写一 ......
thiserror anyhow Error std io
共310篇  :1/11页 首页上一页1下一页尾页