C/C++
huas_weew12
慢慢进步
展开
-
类与对象(复制构造函数)
浅拷贝 二进制复制不复制指向的内存单元,这导致两个 MyString 对象指向同一个内存单元。函数 UseMyString( )返回时,变量 str 不再在作用域内,因此被销毁。为此,将调用 MyString 类的析构函数, 而该析构函数使用 delete[]释放分配给 buffer 的内存,这将导致 main( ) 中的对象 sayHello 指向的内存无效,而等 main...原创 2018-10-28 22:21:43 · 232 阅读 · 0 评论 -
栈内存和堆内存的区别
数据结构中的堆与栈: 栈:是一种连续储存的数据结构,具有先进后出的性质。通常的操作有入栈(圧栈)、出栈和栈顶元素。想要读取栈中的某个元素,就要将其之前的所有元素出栈才能完成。类比现实中的箱子一样。 堆:是一种非连续的树形储存数据结构,每个节点有一个值,整棵树是经过排序的。特点是根结点的值最小(或最大),且根结点的两个子树也是一个堆。常用来实现优先队列,存取随意。 内存中的栈区与堆区: 一般说到...转载 2018-10-30 18:22:10 · 144 阅读 · 0 评论 -
迭代器与指针
STL 迭代器 最简单的迭代器是指针。 给定一个指向数组中的第一个元素的指针,可递增该指针使其指向下一 个元素,还可直接对当前位置的元素进行操作。 STL 中的迭代器是模板类,从某种程度上说,它们是泛型指针。 这些模板类让程序员能够对 STL 容器进行操作。 注意: 操作也可以是以模板函数的方式提供的 STL 算法,迭代器是一座桥梁,让这些模板函数能够以一致而无缝的方式处理容器...原创 2018-10-30 18:20:20 · 907 阅读 · 0 评论 -
宏定义的小细节
一个高中室友最近在准备计算机二级,一直在刷题库的题目(非计算机专业),所以最近一直会问我一些题目,今天他问了我一个问题,关于宏定义的,想起来之前初学C语言的时候,这个问题也是一个典例了,所以决定用博客记录一下。 题目如下: #include<stdio.h> #define SWAT(t,a,b) t=a;a=b;b=t; int main() { int x ...原创 2019-02-15 12:59:57 · 601 阅读 · 2 评论 -
指针与自由存储空间(1)
指针定义 1.我们平时定义普通变量: typename variable_name = variable_value; 语句申明了变量值得类型 变量名称 ,还让程序为值分配了内存 此处定义变量: 值是指定量 存储地址为派生量(指定一个要存储的值,分配一个自由空间用于存储这个值) #include<iostream> int main() { using names...原创 2019-02-07 14:15:02 · 133 阅读 · 0 评论 -
vscode 调试c/c++程序的配置文件
用codeblocks用太久了,Clion又感觉太大了,然后正好之前安装了VScode所以就想着用vscode来编码,但是不会配置,网上找了很多教程,以下展示的是成功的(我是成功了),在项目文件夹下添加这两个配置文件,按f5,成功。 注意:我是直接用的codeblocks安装时自带的那个MinGW,如果没有的话,就自己去官网安装一个MinGW就ok了。 tasks.json: {...原创 2019-02-09 11:16:06 · 1592 阅读 · 0 评论