
c++
代码里的守护者
于是我们相爱,手心湿的像海
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
string引用计数的写时拷贝
string的各种实现:#include class String { public: String(char* str = "") :_str(new char[strlen(str) + 5]) { strcpy(_str+4, str); _str += 4; GetRefCount() = 1; } String(const String& s) :_str(原创 2017-12-23 18:17:53 · 261 阅读 · 0 评论 -
C/C++动态内存管理
1:总结并剖析malloc/free和new/delete之间关系和差异。 2:剖析new/delete、new[]/delete[]到底做了些什么事情。 3:实现NEW_ARRAY/DELETE_ARRAY宏,模拟new[]/delete[]申请和释放数组。 malloc/free和new/delete之间关系和差异 首先先介绍一下malloc/free函数和new/delete操作符:...原创 2018-07-28 21:22:00 · 203 阅读 · 0 评论 -
总结map和set增删查改的使用
在STL中map和set都是关联式容器,vector和list是序列式容器,在今天的这篇文章中主要介绍的是map和set的基本用法。 一、set set是一种key类型的集合结构,所以set是不允许有重复元素的一种结构,set中所有元素的key值都会被自动排序为升序。set和multiset都包含在头文件#include<set>中,set和multiset的底层都是用红黑树实现的,但...原创 2018-04-02 23:39:53 · 376 阅读 · 0 评论 -
C++入门
1.命名空间 (1)定义:namespace即"命名空间",也称"名称空间" 、"名字空间"。VS.NET中的各种语言使用的一种代码组织的形式 通过名称空间来分类,区别不同的代码功能 同时也是VS.NET中所有类的完全名称的一部分。 (2)出现原因 :命名空间是用来组织和重用代码的编译单元。如同名字一样的意思,NameSpace(名字空间),之所以出来这样一个东西,是因为人类可用的单词数太转载 2018-01-25 11:15:55 · 282 阅读 · 0 评论 -
C++基本的输入输出流
1.标准的输入和输出对象 为了便于使用,C++标准库中已经预先定义了4个最基本的输入/输出流(I/O)对象,其中最常用的是负责键盘输入的cin对象和负责屏幕输出的cout对象。另外,标准库还定义了两个辅助的输出对象,分别是用于输出程序错误信息的cerr和用于输出日志信息的clog。这些对象都已经在标准库中预先定义,只要引入相应的头文件,我们就可以在程序中直接使用它们来完成程序的基本输入/输出转载 2018-01-25 10:50:03 · 727 阅读 · 0 评论 -
C++ 命名空间namespace
命名空间 在C++中,名称(name)可以是符号常量、变量、宏、函数、结构、枚举、类和对象等等。为了避免,在大规模程序的设计中,以及在程序员使用各种各样的C++库时,这些标识符的命名发生冲突,标准C++引入了关键字namespace(命名空间/名字空间/名称空间/名域),可以更好地控制标识符的作用域。 MFC中并没有使用命名空间,但是在.NET框架、MC++和C++/CLI中,都大量使用了命名转载 2018-01-25 10:32:21 · 290 阅读 · 0 评论 -
插入排序(insertion sorting)
大体含义是这样的,想我们在打扑克牌理牌时的思路一样,来一张扑克牌做一次插入操作: //编程实现插入排序算法 #include #include using namespace std; //函数功能: 插入排序函数 //函数参数: a为一个整数数组,n为数组a的长度 void insertionsort(int *a,int n) { f原创 2017-12-30 14:03:24 · 422 阅读 · 0 评论 -
c++实现表达式计算问题
#include #include #include using namespace std; //栈的定义 template struct Node { T data; Node *next; }; template class LinkStack { public: LinkStack(); ~LinkStack(); T & GetTop();//获取原创 2017-12-16 20:54:45 · 502 阅读 · 0 评论 -
迷宫问题
迷宫最优解问题: 迷宫地形我们可以通过读文件的形式,通过已知入口逐个遍历坐标寻找通路。 文件如图: 每个坐标的位置用结构体来记录: struct Pos //位置坐标 { int _row; int _col; }; 定义行列范围 #define M 10 //行 #define N 10 //列 初始化迷原创 2017-12-16 20:26:03 · 253 阅读 · 0 评论 -
复杂链表的复制
题目描述 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空) 解题思路: 1、复制每个节点,并将该结点的复制结点插入到该结点后面, 如:链表为:A->B->C->D, 经过复制步骤后...原创 2018-08-01 17:34:46 · 188 阅读 · 0 评论