c++
文章平均质量分 71
lzn211
这个作者很懒,什么都没留下…
展开
-
push_back和emplace_back的实现区别(源代码区别)
编译器 MSVC(VS2022)总结在最后,可以直接看看开始直接上源代码push_back源代码:_CONSTEXPR20 void push_back(const _Ty& _Val) { // insert element at end, provide strong guarantee emplace_back(_Val); }_CONSTEXPR20 void push_back(_Ty&& _Val) { // ins原创 2022-04-17 16:17:30 · 549 阅读 · 0 评论 -
c++智能指针中的reset成员函数
若p为智能指针对象(如:shared_ptr< int> p)成员函数reset使用:p.reset(q) //q为智能指针要指向的新对象会令p指向q。而且会释放原来的空间。#include<memory>#include<iostream>using namespace std;struct A { int i ; A() { cout << "construct\n"; } ~A() { cout << "delet原创 2020-10-18 18:11:59 · 32080 阅读 · 2 评论 -
c++tuple运算符重载/tuple比较
c++中STL中tuple类的运算符重载头文件:#include<tuple>主要注意源代码中的 “==” 和 “<” 重载,这也是STL中的主要运算符。其余运算符通过调用这两个运算符得到。STL中源代码// OPERATORS FOR tupletemplate <class... _Types1, class... _Types2>_NODISCARD constexpr bool operator==(const tuple<_Types1...&原创 2020-10-13 22:42:20 · 1857 阅读 · 0 评论