![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
滚筒洗衣机xin
这个作者很懒,什么都没留下…
展开
-
fopen打开ppm格式的图片
使用fopen打开ppm格式的图片时,需要添加头文件#include<stdio.h>当出现以下错误时,打开属性》项目属性》C/C++》预处理器在预处理器定义添加_CRT_SECURE_NO_WARNINGS如下图所示,fopen函数的第一个参数是打开的文件名称,这里指定路径需要使用双斜杠;第二个参数是打开方式。...原创 2019-11-26 12:03:06 · 624 阅读 · 0 评论 -
C++之内存分配
C++所使用的内存分成三个部分:静态内存、栈内存和堆内存一、 静态内存静态内存是用来存储程序中的静态变量和全局变量,这部分内存在编译时就分配好,直到程序结束才销毁。二、 栈内存栈内存是用来存储函数内定义的非静态局部变量,这部分内存在函数被调用时分配,函数运行结束时销毁。三、 堆内存堆内存又被称做自由空间,程序运行时动态分配的对象存储在堆内,它的分配和销毁需要显示地进行。...原创 2019-07-12 20:05:33 · 141 阅读 · 0 评论 -
C++之哈希表的使用
C++中的STL提供了hash_map来实现哈希表功能,在介绍hash_map的使用方法之前,我们先从哈希函数和哈希冲突来了解哈希表。一、 哈希函数所谓哈希函数就是从关键字(Key)到值(Value)的映射:Value=H(Key)Value=H(Key)Value=H(Key)值反映了关键字的存储地址。1、数字分析法选取关键字中的几位数字作为值,一般选取数字分布比较均匀的几位。H(...原创 2019-07-13 22:31:46 · 43633 阅读 · 1 评论 -
C++之static关键字总结
静态局部变量位于函数内部,随着函数第一次调用而初始化,且被初始化一次,再次调用该函数会跳过静态局部变量的初始化语句;静态局部变量存储于静态区,不会随着函数的调用结束而被释放。静态全局变量位于函数体外,存储于静态区,作用域是定义该变量的源文件。静态局部变量静态全局变量局部变量全局变量存储区静态区静态区栈区静态区作用域函数体内定义该变量的源文件函数...原创 2019-03-29 20:26:35 · 197 阅读 · 0 评论 -
C++之浅拷贝与深拷贝
当我们对类或者结构体进行赋值操作的时候,会调用拷贝构造函数,这时会涉及到浅拷贝和深拷贝的问题。一、浅拷贝:所谓浅拷贝就是对数据成员进行简单的一一拷贝,因此,对于指针变量也只是拷贝了指针本身,当拷贝完成之后,两个指针会指向同一块内存,所以当调用两次析构函数的时候,该内存会被释放两次,从而造成指针悬空的问题。二、深拷贝:相比于浅拷贝,深拷贝会开辟一块新的内存空间,用于存放拷贝的指针所指数据,因...原创 2019-07-19 23:37:58 · 118 阅读 · 0 评论 -
C++之decltype类型指示符
decltype()的功能:得到表达式的返回值类型,用于对新变量的声明或定义。有如下几点需要注意:1、 作用于常量类型得到的还是常量类型。2、 作用于引用类型得到的还是引用类型,此时需要对变量初始化。3、 当引用作为表达式的一部分,作用于该表达式得到的将不是引用类型。4、 decltype((variable))得到的结果是引用。5、 decltype(*p)得到的结果是引用。6、 d...原创 2019-07-20 22:57:11 · 308 阅读 · 0 评论 -
C++之vector扩容分析
内存为vector容器分配了一块连续的空间,每一个元素紧挨着前一个元素存放,size()表示vector容器中存放的元素个数,capacity()表示内存为vector容器分配的空间所能存放的元素个数,当vector容器中存放的元素个数达到了capacity()规模,则需要对vector容器进行扩容操作,即内存重新分配一块更大的空间,将vector原先存放的元素拷贝到新分配的空间。不同的编译器所...原创 2019-09-01 00:41:57 · 1800 阅读 · 0 评论