C++
总结C++基础知识点
帅与
其人如鹏鸟,借风而起,浮游九万里,风息则止,梳拂风羽。
其势若江河,顺流而去,奔腾东南戏,不逾堤坝,逾者民弃。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++运算符重载
输入输出函数<<函数friend std::ostream operator<<(ostream & os ,Point p){ os<<p.x<<p.y; return os; }由于做操作数为ostream对象,所以不能设置为成员函数进行调用所以采用friend函数形式;所有流对象不能进行复制所以参数和返回值采用引用形式。...原创 2021-05-01 15:08:55 · 177 阅读 · 0 评论 -
C++Primer TextQuery完整代码
TextQuery.h#ifndef TEXTQUERY_H#define TEXTQUERY_H#include <memory>#include <vector>#include <set>#include <string>#include <map>#include <iostream>using std::cout;//读入并解析文件,将解析结果存入QueryResult对象中class Query.原创 2021-04-29 22:04:25 · 434 阅读 · 1 评论 -
智能指针总结
智能指针的必要性为了避免由于资源操作不当导致的内存泄漏,采取通过对象生命周期实现对资源的管理。创建对象时托管资源,销毁资源实现资源的释放。其中,头文件中的智能指针类实现了上述功能。智能指针分类及不同智能指针属性特征auto_ptr<>weak_ptr<>unique_ptr<>表达的是对象语义,不能进行赋值或拷贝构造。 内部定义了移动语义构造函数,可以通过std::move 进行赋值可以使用get()方法获取所托管资源的地址shared_ptr&l.原创 2021-04-25 20:33:13 · 227 阅读 · 0 评论 -
c++11移动语义
C++11移动语义特性移动语义的必要性C++11中将数据分为左值和右值。左值为分配内存地址存储在内存中的值。右值为存储在寄存器中但不分配内存地址的值。所以左值可以取地址而右值不可以取地址。对于右值对象来说,想要将右值对象存放在容器或数组中会发生:根据右值构造新左值对象->销毁右值对象->将新产生的左值对象存放到容器中。为了简化这个过程的时间空间开销引进移动语义。移动语义特性移动语义是指将临时的右值对象构造一个新的左值对象,并且该左值对象不占用新的内存空间。移动构造函数和移原创 2021-04-20 22:52:45 · 407 阅读 · 0 评论
分享