c++
文章平均质量分 94
ReyYuan
我是编程爱好者中的健身爱好者~~~
展开
-
c++之构造函数深究_匿名对象_new_this初探
站在编译器和C的角度剖析c++原理, 用代码说话默认构造函数我们先回顾一下构造函数, 当我们没有指定带参的构造函数时,编译器会给我们的类自动分配一个默认的无参构造函数.怼代码:class Test{public: Test(){ cout << "我是构造函数,自动被调用了" << endl; } ~Te...原创 2018-03-24 12:05:01 · 1011 阅读 · 1 评论 -
C++之函数指针_回调函数_函数模板初探
站在编译器和C的角度剖析c++原理, 用代码说话函数指针C语言中通过typedef为函数类型重命名, 语法格式为:typedef type name(parameter list). 那么,什么是函数指针呢? 函数指针用于指向一个函数, 并且函数名是执行函数体的入口地址. 我们先回顾一下如何定义一个数组类型: typedef int (MyArrayType)[10];这...原创 2018-04-13 14:44:46 · 1416 阅读 · 0 评论 -
联合体和结构体内存对齐分析
当多个数据需要共享内存或者多个数据每次只取其一时,可以利用联合体(union)。在C Programming Language 一书中对于联合体是这么描述的: 1)联合体是一个结构; 2)它的所有成员相对于基地址的偏移量都为0; 3)此结构空间要大到足够容纳最”宽”的成员; 4)其对齐方式要适合其中所有的成员; 下面解释这四条描述: 由...转载 2018-04-07 02:48:15 · 468 阅读 · 0 评论 -
32/64平台下类型大小的总结
64 位的优点:64 位的应用程序可以直接访问 4EB 的内存和文件大小最大达到4 EB(2 的 63 次幂);可以访问大型数据库。本文介绍的是64位下C语言开发程序注意事项32 位和 64 位C数据类型 上表中第一行的大写字母和数字含义如下所示: I表示:int类型 L表示:long类型 P表示:pointer指针类型 32表示:32位系统 64表示64位系统 如:LP64...转载 2018-04-07 02:34:20 · 313 阅读 · 0 评论 -
C/C++中数组和指针以及sizeof分析
转载自:https://blog.csdn.net/tianyue168/article/details/5781924#reply 对其中的一些小小错误进行了修正~~~感谢原主.#include <iostream.h> int main( int argc, char * argv[]) { char str[10]; ch...转载 2018-04-07 02:16:43 · 350 阅读 · 0 评论 -
c++之多态_虚函数_纯虚函数_抽象类专题
站在编译器和C的角度剖析c++原理, 用代码说话重写与重载在我们上一节中已经引入了多态,其中有一点就是必须是对父类虚函数的重写. 那么重写与重载有什么不同呢? 函数重载: 1. 必须在同一个类中进行 2. 子类无法重载父类的函数,父类同名函数将被名称覆盖 3. 重载是在编译期间根据参数类型和个数决定函数调用 函数重写: 1. 必须发生于父类与子类之间 2. 并且...原创 2018-04-06 07:23:26 · 442 阅读 · 0 评论 -
C++之模板类_容器_迭代器_算法_GCC_make
站在编译器和C的角度剖析c++原理, 用代码说话类模板基础首先什么是模板: 模板就是把要处理的函数或类的类型参数化,表现为参数的多态性. 模板用来表现逻辑结构相同,但具体数据元素类型不同的对象的通用行为.函数模板我们在上一篇中已经说过了,所以自行回看一下. 我们这里讨论类模板: 类模板用于实现类所需数据的类型参数化. 我们先定义一个模板类:template<t...原创 2018-04-22 04:01:34 · 855 阅读 · 0 评论 -
c++访问修饰符_继承_赋值兼容_多态初探
站在编译器和C的角度剖析c++原理, 用代码说话访问修饰符在我们引入继承之前,先来了解一些c++的访问修饰符: private: 修饰的成员变量成员函数只能在类的内部使用. public: 修饰的成员变量成员函数能在类的内部和外部随便使用. protected:修饰的成员变量和成员函数只能在类的内部使用. 在进入继承之前上面的铁律一定要记住, 或许会有疑问,说prot...原创 2018-04-03 04:28:01 · 410 阅读 · 0 评论 -
C++之C语法增强_寄存器_三目_引用初探
站在编译器和C的角度剖析c++原理, 用代码说话Hello world首先我们先引入无敌案例之hello world:#include <iostream>using namespace std;int main(void) { std::cout << "Hello, World!\n"; int i = 0; ci...原创 2018-03-20 12:24:46 · 436 阅读 · 0 评论 -
c++之引用_重载_类的封装_构造函数初探
站在编译器和C的角度剖析c++原理, 用代码说话引用深入引入简单的介绍请参考引用初探这篇文章. 然后我们先进行普通引用的深入. 那什么是普通引用呢?就是基本数据类型的引用,而不是结构体或者类的引用,这个话题我们会单独专题讨论,这块儿是比较复杂的. 回归正题. 先上代码:int getAA1(){ int a; a = 10; return a;...原创 2018-03-22 06:55:56 · 231 阅读 · 0 评论 -
c++this_货物链表类_友元函数_操作符重载_const
站在编译器和C的角度剖析c++原理, 用代码说话this强化我们上一篇中最后提到了this指针的本质,这次我们稍微做一下回顾和强化:class Test{public: Test(int a, int b) //有参构造函数 { this->a = a; this->b = b; } int...原创 2018-03-31 06:33:04 · 386 阅读 · 0 评论 -
结构体内存对齐和强制类型转换问题分析
最近两天复习c++的链表的时候发现了一个问题值得深思. 首先从一个现象上引出问题: 在我写线性表的链式存储的时候定义了几个结构体:(全部代码在这里) linklist.htypedef void LinkList;typedef struct _tag_LinkListNode{ struct _tag_LinkListNode * next;}LinkListNode;...原创 2018-04-28 12:38:25 · 1178 阅读 · 0 评论