
C/C++
NJUdudu
这个作者很懒,什么都没留下…
展开
-
类模板三种类模板参数
原文链接:https://www.cnblogs.com/lsgxeva/p/7689995.html 类模板三种类模板参数实际上有三种类型模板参数:类型模板参数、模板模板参数(以模板作为模板的参数)、无类型模板参数。 1、类型模板参数 类型模板参数是我们使用模板的主要目的。我们可以定义多个类型模板参数: tem...转载 2018-04-22 10:40:47 · 5124 阅读 · 0 评论 -
多边形构成问题
题目描述:输入一个n个元素的数组代表n条线段的长度,从数组中选m条线段(当选择第m条边时,前面m-1条边必须选择),求所选出的线段能构成面积大于0的图形的最小边数m。思路:构成m条边的多边形的条件,任意的m-1条边之和必须大于第m条边。#include<vector>#include<iostream>#include<algorithm>using...原创 2018-09-18 10:51:35 · 2225 阅读 · 0 评论 -
C++智能指针
原文链接:http://www.cnblogs.com/lanxuezaipiao/p/4132096.html 目录 1.智能指针背后的设计思想 2.C++智能指针简单介绍 3.为什么摒弃auto_ptr? 4.unique_ptr为何优于auto_ptr? 5.如何选择智能指针? 正文 1. 智能指针背后的设计思想 我们先来看一个简单的例子:void remodel(st...转载 2018-09-12 17:26:51 · 157 阅读 · 0 评论 -
c++ 重载、覆盖、隐藏差异
1.成员函数重载(overload)的特征: (1)相同的范围(在同一个类中); (2)函数名字相同; (3)参数不同; (4)virtual关键字可有可无。 (5)返回值可以不同总之,函数重载与否看的是函数参数的个数、类型以及顺序2.覆盖(override)(重写)是指派生类函数覆盖基类函数,特征是: (1)不同的范围(分别位于派生类与基类);...原创 2018-09-12 15:03:35 · 156 阅读 · 2 评论 -
sizeof求类的大小
1、空类的大小class Base { public: Base(); ~Base(); }; 注意到我这里显示声明了构造跟析构,但是sizeof(Base)的结果是1。 因为一个空类也要实例化,所谓类的实例化就是在内存中分配一块地址,每个实例在内存中都有独一无二的地址。同样空类也会被实例化,所以编译器会给空类隐含的添加一个字节,这样空类实例化之...原创 2018-09-11 15:49:55 · 192 阅读 · 0 评论 -
string类中运算符重载的实现
#include<iostream>using namespace std;class MyString{public: MyString(); MyString(const int number); MyString(const char *ptr); MyString(const MyString &str); ~MySt...原创 2018-05-29 14:29:53 · 3369 阅读 · 3 评论 -
C++构造函数和析构函数
#include &lt;iostream&gt; using namespace std;class A{private: int a;public: A() { a = 0; } A(int i) { a = i; } //内联的构造函数 A(A &amp;aa); ~A() { cout &lt;&lt; "析构函数" &原创 2018-05-25 20:56:04 · 163 阅读 · 0 评论 -
STL之迭代器和Traits技法
原文链接:https://blog.youkuaiyun.com/terence1212/article/details/52287762在开始讲迭代器之前,先列举几个例子,由浅入深的来理解一下为什么要设计迭代器。//对于int类的求和函数int sum(int *a , int n){ int sum = 0 ; for (int i = 0 ; i < n ; i++) ...转载 2018-05-07 11:00:15 · 186 阅读 · 0 评论 -
STL空间配置器
本文内容主要来自以下资料: STL源码剖析—侯捷 STL空间配置器那点事 STL空间配置器一、六大组件简单介绍 1.容器(Containers):各种数据结构,如:vector、list、deque、set、map。用来存放数据。从实现的角度来看,STL容器是一种class template。2.算法(algorithms):各种常用算法,如:sort、search、c...原创 2018-05-06 23:36:52 · 192 阅读 · 0 评论 -
内联函数inline
原文链接:https://www.cnblogs.com/QG-whz/p/4641479.html阅读目录什么是内联函数如何使函数内联为什么要使用内联函数inline函数的优缺点分析什么时候该使用内联函数 正文 在C语言中,我们使用宏定义函数这种借助编译器的优化技术来减少程序的执行时间,那么在C++中有没有相同的技术或者更好的实现方法呢?答案是有...转载 2018-05-18 16:18:43 · 182 阅读 · 0 评论 -
c++引用与指针的区别
原文链接:https://blog.youkuaiyun.com/THISISPAN/article/details/7456169 &amp;nbsp;★ 相同点:&amp;nbsp;&amp;nbsp;&amp;nbsp; 1. 都是地址的概念;&amp;nbsp;&amp;nbsp;&amp;nbsp; 指针指向一块内存,它的内容是所指内存的地址;引用是某块内存的别名。转载 2018-05-11 16:42:08 · 144 阅读 · 0 评论 -
二级指针的三种内存模型
原文链接:https://blog.youkuaiyun.com/qq_37484168/article/details/78363251 二级指针的三种内存模型概念分析指针:简单的来说就是指向固定大小内存块的别名。指针中所存放的是其所指向的内存块的地址。 二级指针:也就是指向指针的指针。其中存放的是他所指向的指针的内存地址。...转载 2018-05-16 23:15:39 · 198 阅读 · 0 评论 -
STL allocator
原文链接:https://blog.youkuaiyun.com/qq_32378713/article/details/79384232 一般而言,我们习惯的 C++ 内存配置操作和释放操作是这样的:1 class FOO{};2 FOO *pf = new FOO; 3 delete p...转载 2018-04-26 10:08:53 · 162 阅读 · 0 评论 -
C/C++ volatile关键字
原文链接:https://blog.youkuaiyun.com/wwang196988/article/details/66233871. 为什么用volatile?C/C++ 中的 volatile 关键字和 const 对应,用来修饰变量,通常用于建立语言级别的 memory barrier。这是 BS 在 “The C++ Programming Language” ...转载 2018-05-03 18:01:25 · 301 阅读 · 0 评论 -
实现strcpy、strncpy、memcopy、memmove
字符串的strcopy函数char * my_strcpy(char *strDest, const char * strSrc){ assert((strDest != NULL) && (strSrc != NULL)); //if (strDest == NULL || strSrc == NULL) return NULL; //保存目标字符...原创 2018-04-21 22:40:32 · 276 阅读 · 0 评论 -
STL中迭代器失效详解
原文链接:https://blog.youkuaiyun.com/skyroben/article/details/70877008 1.迭代器 迭代器是一种面向对象的广义指针,用于指向容器中或流中的对象。可以看做是一种指向数据的指针。122.迭代器失效 向容器中添加或者删除元...转载 2018-04-25 14:23:28 · 1396 阅读 · 0 评论 -
求数组中包含所有数字的最小区间
算法题: 一个由若干个取值范围在【1,2^31-1】的整数构成的长度为N的数字序列,其中N<5000000;求该数字序列上一段最小的连续区间的长度,要求该区间内正好包含了该N个数字序列所有不同的数字,如果存在多个这样的区间,按照出现的顺序输出所有的区间骑士和结束位置,序列的位置编号从1到N,其中最小的区间长度不会超过10000。输入: 10 1 1 3 4 6 6...原创 2018-09-14 21:19:28 · 2169 阅读 · 0 评论