- 博客(10)
- 收藏
- 关注
原创 十、C++中的类 class与struct的区别
面向对象程序设计,需要诸如类和对象这样的概念。C++支持面向过程、基于对象、面向对象、泛型编程四种C语言不支持面向对象编程类是一种将数据和函数组织在一起的方式。一个函数参数过多,代码不好维护,可创建一个类,一次性包含所有想要的数据,最终作为一个类型。类必须是唯一的类型名,因为类基本上就是我们创建一个新的变量类型,类使用{}括起来,但是结尾还有一个“;”符号。由类 类型制成的变量叫做对象,新创建对象的过程叫做实例化。【结构体struct和类class区别在于权限,class默认pr
2022-05-17 11:27:28
1944
原创 九、C++ 指针 pointer 引用 Reference
原始指针 raw pointer 非智能指针 smart pointer指针是一个整数,一个数字,它存储一个内存地址。创建指针:void* ptr = 0;void指针表明不关心指针存储地址的数据类型。给该指针一个为0的内存地址,0其实不是一个有效的内存地址,没有办法读取或写入地址为0的内存。0无效意味着该指针无效。对指针来说,无效是可以接受的。指针为0也可以是NULL,# define NULL 0。C++中一个关键字叫做nullptr。#include <iostream>
2022-05-16 17:20:09
264
原创 五、C++中的头文件 Header Files
头文件 Header Files传统上用于声明某些函数类型,以便可以用于整个程序中。例如:在一个文件1中创建函数,然后想在另一个文件2中使用,尝试编译此文件2时,C++不会直到这个文件1的存在,所以需要一个共同的地方来存放声明(并不是定义,因为函数的定义只可以有一次),声明中没有实际的函数定义,没有函数主体,假定有个函数Log,作用时打印输出,接收一个const char "message",然后cout该信息//Math.cpp#include <iostream>void
2022-05-14 20:46:41
2580
原创 三、C++ 链接器 linker
cilinking:从C++源码到可执行二进制的过程。compile文件之后进行链接,找到每个符号、函数的位置,并将其链接在一起每个文件被编译成一个独立的.obj文件作为translation unit,这些文件无法自主沟通。写一个程序使用到了多个文件时,使用linker将这些文件链接到一个程序。(<——链接器的工作)。即使没有外部文件里的函数(仅有一个文件),应用程序为了直到入口点在哪(main函数在哪,程序运行时从main函数开始)编译有两个阶段:编译与链接区分方法:ctrl+F7
2022-05-14 11:53:02
1322
原创 二、C++ complier works 编译器如何工作工作
从text到binary:compliing+linkingC++ complier:将text变为.obj中继格式,.obj再传入linkercomplier如何将text变为.obj:①~①preprocess 预处理代码②tokenizing标记解释和parsing解析 将C++文本处理成编译器能懂和处理的语言③创建abstract syntax tree(抽象语法树),以抽象语法树的形式表达代码编译器把代码转化为constant data(常数资料)、或instruction
2022-05-13 20:59:30
471
原创 一、C++ Works C++如何工作
1,C++内置函数输出Hello WorldMain.cpp#include <iostream> //preprocessor 预处理指令以#开头 // include 找到一个文件,此处寻找iostream 该文件中所有内容会被复制至此文件中 // include的文件被称为header file,cout为iostream的实列int main()
2022-05-13 17:31:42
291
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人