自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 【C语言】malloc函数进行内存分配是在什么阶段?

在说这个之前,我们要先明白:程序占用三种类型的内存:静态内存、栈内存、堆内存;静态内存:用来保存局部static对象、类static数据成员以及定义在任何函数之外的变量 。栈内存:用来保存定义在函数内的非static对象。分配在静态内存或栈内存中的对象由编译器自动创建和销毁。对于栈对象,仅在其定义的程序块运行时才存在;static对象在使用之前分配,在程序结束时销...

2019-03-25 15:41:04 1826

原创 【C++】数组指针和指针数组的辨析

在学习C语言的时候,数组和指针没有那么多的联系,但是当学习到c++的时候,指针和数组常常结合起来,于是就有了指针数组和数组指针这俩我傻傻分不清的概念~在今天,我把它们分清楚了。如果你也有一样的困惑,往下看~首先,理解一下数组指针和指针数组这两个名词:“数组指针”和“指针数组”,只要在名词中间加上“的”字,就知道中心了——数组的指针:是一个指针,什么样的指针呢?指向数组的指针。...

2019-03-23 11:18:39 241

原创 【C语言】关于static关键字修饰的变量

变量可以被static 修饰,意义有发生变化吗?下面我们举个栗子来说明:(1)变量不加 static 修饰#include <stdio.h>void test(){ int num = 0; num++; printf("%d ", num);}int main(){ int i = 0; for (i = 0; ...

2019-03-21 17:43:09 1288

原创 【C++】构造函数初始化列表中成员变量必须初始化的几种情况

有一个类A,其数据成员如下:class A {...private: int a;public: const int b; float* &c; static const char* d; static double* e; };则构造函数中,成员变量一定要通过初始化列表来初始化的是:b,c构造函数中,成员变量一定要通过初始化列表来初始化的有以下几种...

2019-03-20 17:10:57 3682

原创 【C++】String中的深浅拷贝问题;深拷贝的两种写法(传统写法、现代写法)

一、浅拷贝问题浅拷贝首先定义一个Sting类,它包含一个成员变量,一个char*的指针。namespace CPP{ class String { public: private: char* _str; };}对于String类的拷贝构造函数及operator=函数来说,当用一个String对象拷贝构造或赋值给另一个String对象时,就是将...

2019-03-13 16:02:04 1025

原创 【C++】string的部分接口补充(swap()、replace()、suffix()、find())

swap()swap()接口表示交换,有以下两种编写方式void test_string(){ string s1("hello"); string s2("world"); cout &lt;&lt; s1 &lt;&lt; "--" &lt;&lt; s2 &lt;&lt; endl; s1.swap(s2);//单纯地成员变量的交换,指针交换,代价小 cou

2019-03-11 16:13:36 3112 2

原创 【C++】String类、String类的常用接口说明及其使用、STL中的迭代器使用

C语言中,字符串是以'\0'结尾的一些字符的集合,为了操作方便,C标准库中提供了一些str系列的库函数,但是这些库函数与字符串是分离开的,不太符合OOP(Object Oriented Programming,面向对象程序设计)的思想,而且底层空间需要用户自己管理,稍不留神可能还会越界访问。所以C++中有了String类,而且在日常的生活工作中,为了简单、方便、快捷,基本都使用string类。...

2019-03-10 15:24:30 353

原创 【C++】泛型编程;函数模板;类模板

一、泛型编程以前我们写过一个简单的交换函数。我们不难发现交换函数是与类型有很大关系的,int,double....那么如何实现一个通用的交换函数呢?void Swap(int&amp; left, int&amp; right){ int temp = left; left = right; right = temp;}void Swap(double&am...

2019-03-06 16:59:51 276

原创 【C++】单例模式(饿汉模式、懒汉模式)

什么是单例模式?首先先来了解一下设计模式。设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结,一共有23种经典设计模式。为什么会产生设计模式这样的东西呢?就像人类历史发展会产生兵法。最开始部落之间打仗时都是人拼人的对砍。后来春秋战国时期,七国之间经常打仗,就发现打仗也是有套路的,后来孙子就总结出了《孙子兵法》。孙子兵法也是类似。使用设计模...

2019-03-05 18:00:31 7426 2

原创 【C++】C/C++中动态内存管理方式;new / delete 与 operator new / operator delete;

一、C语言动态内存管理方式在C语言中,动态内存管理的接口有malloc/calloc/realloc,那么三者之间有什么区别呢?简单来说就是malloc是动态开辟空间;calloc是开辟空间的同时按字节进行初始化为0,并且可以扩容,须知道要扩容到多大;realloc是对当前空间进行增容,对已有空间进行操作,空间足够大时原地扩容,否则另外扩容。详细可见【C语言】malloc,calloc...

2019-03-04 13:26:29 298

原创 【C++】C/C++的内存分布

C/C++中特别注重的是数据存储,这就与内存分不开,我们想要知道C/C++如何进行数据存储,就必须了解它们的内存分布。先来看一段代码:int globalVar = 1;static int staticGlobalVar = 1;void Test(){ static int staticVar = 1; int localVar = 1; int num...

2019-03-03 13:03:23 211

原创 【C++】类和对象(5)初始化列表、static成员、C++11成员初始化、友元函数及友元类、内部类

一、初始化列表在创建对象时,编译器通过调用构造函数,给对象中各个成员变量一个合适的初始值。#include &lt;iostream&gt;using namespace std;class Date{public: Date(int year, int month, int day) { _year = year; _month = month; _day =...

2019-03-02 11:06:36 444

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除