# CppGrammer **Repository Path**: waterpig/cpp-grammer ## Basic Information - **Project Name**: CppGrammer - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-05-09 - **Last Updated**: 2024-08-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 导论 C++入门指导 所述内容不可能面面俱到,只是讲述一个知识点体系(语法),具体的内容需要在项目实践中才能了解到。 从认识到实践,再从实践到认识。————毛 这个项目是我在学习C++过程中所写下的随笔,包含了C++的知识点、对C++语法的思考,在写这份随笔的过程中,我发现“注释+代码”的笔记并不能很完美的发挥各自的优势。 我想要的是一份知识点代码既直观,又不缺知识点讲解的项目笔记。目前来说,这似乎很难办到。 ## C++基础:01_CppBase 本章内容介绍C++基础语法 1. Function:全局函数 本节内容各自独立。 1. Annotation:注解 1. [Deprecated 弃用]() 1. [Fallthrought ]() 1. [Likely & Unlikely ]() 1. [MaybeUnused ]() 1. Parameter:参数 1. Reload:重载 1. ReturnType:返回值类型 1. Variable:局部变量 1. [Function 函数]():介绍全局函数的基本语法。 1. [FunctionReturnValueAtEnd 函数返回值置尾]() 1. Type:类型。 本节内容各自独立 1. Array:数组 1. [基本类型数组]() 1. [类类型数组]() 1. [指针类型数组]() 1. BaseType:基本数据类型 1. Class:类 1. Constructor:构造函数 1. Friend:友元(函数/类) 1. Function:成员函数 1. Initialized:类内初始化 1. Operator:运算符(重载) 1. Variable:成员变量 1. Pointer:指针 1. Reference:引用 1. Struct:结构体 1. ValueCategory:值类别 1. GeneralizeLeftValue:泛左值(左值和亡值) 1. RightValue:右值(纯右值和亡值) 1. STL:标准库 标准库中各文件夹及各文件命名所代表的含义:文件及文件夹中,带有“()”符号的意为函数(如:func().h);带有“{}”符号的意为类(如:enable_shared_from_this{}.h)。 1. ## C++提升:02_CppEnhance 本章内容介绍 C++ 代码编写要点,旨在“如何将 C++ 代码编写的通俗易懂”。 1. interface:将类作为接口 1. Polymorphism:多态 1. Constructor:构造器 1. Delegate:委托构造器 1. 如何继承?[Extending:继承语法]() 1. 定义父类和子类各自的方法?[SubclassCallSuperFunc:父类子类各自的方法]() 1. 子类通过父类构造函数实例化?[InstancingCallSuperCtor:子类通过父类构造函数实例化]() 1. 子类实例直接调用父类函数?[InstcCallExprSuprFunc:子类实例直接调用父类函数]() 1. ## C++进阶:03_CppAdvance 本章内容介绍C++ //todo 1. Assemble:汇编 1. Complie:编译原理 1. 01_Pretreatment:预处理 1. 02_Compile:编译 1. 03_Assemble:汇编 1. 04_Linked:链接 --- # 学习目标 类编译、内存编译 --- # 关键问题 1. 应该以什么视角看待数组?(数组--指针二重性) 应该把数组视为一个类,一个成员变量类型都相同的类。如此指针指向这个“类”时,对该指针进行算术运算也是一个能合理解释的事情。实际上,讨论数组和指针的关系没有多大意义,只需要知道它们可以相互使用即可,数组本质上就是内存中一块连续的地址,类也是。 1.