
C、C++语言
文章平均质量分 58
Mr_Garfield__
这个作者很懒,什么都没留下…
展开
-
实现左旋字符串中前k个字符的多种方法(交换法、双倍字符串法、翻转)
题目:实现一个函数,可以左旋字符串中的k个字符。 ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB /* 1.实现左旋字符串中的k个字符 2.判断一个字符串是否为另一个字符串旋转之后的字符串 */#define _CRT_SECURE_NO_WARNINGS#include <s...原创 2018-02-28 20:28:52 · 500 阅读 · 0 评论 -
为什么C++支持重载,C语言不支持
我们都知道C++语言支持重载,而C语言不支持 可是为什么C++中可以支持函数重载,而在C语言中不支持呢?函数重载 首先来看,什么是函数重载:在同一作用域类,一组函数的函数名相同,参数列表不同(个数不同/类型不 同),返回值可同可不同。简单的说就是函数名相同,参数列表不同 其实是这样,C++在编译时会对函数名进行优化,对于参数不同的同名函数对应的优化后的函数为_Z[N][fu...原创 2018-03-30 15:43:53 · 563 阅读 · 0 评论 -
深入探索C++引用的实现原理
引用1.引用的概念及用法 2.引用做参数 3.引用做返回值 4.汇编层看引用的特性 5.引用和指针的区别 1.引用的概念及用法 引用不是定义一个新的变量,而是给一个已经定义的变量重新起一个别名。 定义的格式为:类型 &引用变量名 = 已定义过的变量名;int a = 1;int &b = a;引用的特点: 1. 一个变量可取...原创 2018-03-30 17:39:18 · 4566 阅读 · 1 评论 -
C++类的默认成员函数详解及内存对齐规则
面向对象程序设计概念:(Object Oriented Programming,缩写:OOP)是一种程序设计范型,同时也是一种程序开发的方法。 对象指的是类的实例,将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性。1. 学习类的6个默认成员函数2. 理解隐含的this指针及传参3. 运算符的重载4. 实现复数类和日期类的默认成员函数及运算符的重载...原创 2018-04-02 20:08:37 · 1272 阅读 · 0 评论 -
const&内联&静态成员&友元
1. const成员函数 2. 内联 3. 友元 4. 静态成员const修饰成员函数在成员函数后面加const,const修饰this指针所指向的对象,也就是保证调用这个const成员函数的对象在函数内不会被改变。class Date{public :void Display (){cout<<"Display ()" ...原创 2018-04-10 15:06:51 · 351 阅读 · 0 评论 -
深入理解C++动态内存管理
1. 对比C语言和C++的动态内存管理2. 探索静态内存管理和动态内存管理3. 理解什么是内存泄露及内存泄露的危害4. new/delete 和operator new/operator delete和malloc/free的关系 5. new[]时底层处理的机制 6. new/delete和malloc/free的区别 C语言动态内存管理C语言使用malloc、calloc、...原创 2018-04-10 16:03:55 · 802 阅读 · 0 评论 -
C++String浅拷贝&深拷贝&Copy On Write
简单的赋值拷贝class String{public: String(constchar*str) :_str(newchar [strlen(str)+1]) { strcpy(_str,str); } String(constString&str) :_str(str._str) {...原创 2018-05-05 19:07:49 · 984 阅读 · 0 评论