![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++编程
文章平均质量分 50
彪莫婆婆
一个在校大学生,专业游戏开发技术方向,为人性格开朗,喜欢搞怪
展开
-
C++中用make_shared创建对象和直接定义shared_ptr有什么区别。
class MyClass{public: MyClass(); ~MyClass();private:};MyClass::MyClass(){}MyClass::~MyClass(){}void test_08(){ std::shared_ptr<MyClass> myclass_shared_ptr = std::make_shared<MyClass>(); std::shared_ptr<MyCl原创 2021-05-22 09:56:49 · 2340 阅读 · 2 评论 -
重载中operator++ () 与operator++(int)的区别
在进行侯捷老师的STL源码阅读时碰到了重载函数operator++() 与operator++(int) ,这让我产生比较大的困惑,为什么operator++(int)需要站位参数,有什么区别么?刚开始由于无法区分++与–的前缀调用与后缀调用一直被人诟病,最后C++语言得到了扩展,允许重载++与–;然而语法上确有一个问题,重载函数的区别在于他们参数类型的差异。但不论++与–的前缀和后缀都只有一个参数,C++规定后缀调用需要有一个int型参数作为区分前缀与后缀调用的区别class ListNode {原创 2021-04-15 11:10:13 · 918 阅读 · 0 评论 -
C++模板二叉排序树
什么是二叉查找树:根节点的值大于其左子树中任意一个节点的值,小于其右节点中任意一节点的值,这一规则适用于二叉查找树中的每一个节点。以下是实现过程,不知是否有bug,刚写完就给上传到了知乎。以下是代码,看了很多人的总是感觉不是我想要的感觉于是自己写一个。如有错误请指正#pragma once#include"预编译.h"using namespace std;template<typename T>struct TreeNode { T val; TreeNode* le原创 2021-04-02 20:43:30 · 115 阅读 · 0 评论 -
C++中11的新特性move与右值
C++新特性move函数与右值引用什么是左值什么是右值;左值:指表达式结束后依然存在的持久化对象右值:指表达式结束后就不在存在的临时对象右值引用:绑定到右值的引用,用&&来获得右值的引用,右值引用只能绑定到要销毁的对象,为了与右值引用区别开,常规的引用叫做左值引用;int var= 12;int &_var1 = var;int &&_var2 = var; //错误不能将持久化对象绑定到右值引用上int &&_var3 = var原创 2021-03-14 21:03:08 · 97 阅读 · 0 评论